Test 1 – QTS
W aplikacji Pamięć Masowa i Migawki w systemie QTS dostępne jest narzędzie służące do testowania przepustowości podłączonych dysków twardych. Test obejmuje sprawdzanie prędkości odczytu sekwencyjnego oraz IOPS odczytu sekwencyjnego. W wyniku tego testu otrzymaliśmy następujące wyniki:
Na pierwszy rzut oka widać, że znacząco różnią się od deklarowanych przez producenta. Postanowiliśmy skontaktować się z przedstawicielem producenta, który udostępnił nam specjalnie przygotowany skrypt, który wykonuje operacje „preconditioningu”. Nie ma bezpośredniego tłumaczenia tego na język polski, ale mechanizm przygotowuje dyski do pracy w danym środowisku. Dla każdego z dysków ten proces zajmował ok 20 minut. Po zakończeniu działania skryptu dla obu dysków, wykonaliśmy ponownie powyższy test. Tym razem wyniki były zdecydowanie inne:
Ze specyfikacji producenta wynika, że maksymalna wartość przy odczycie sekwencyjnym wynosi 3300MB/s a więc wyniki są dosyć zbliżone. Tutaj warto zaznaczyć, że ten wynik będzie zawsze się różnił, choćby ze względu na typ urządzenia, gdzie dysk działa jak i działających w tle procesów, dlatego widoczny na zrzucie ekranu wynik jest bardzo satysfakcjonujący.
Kolejnym testem, który wykonujemy bezpośrednio w systemie QTS jest wspomniane wcześniej profilowanie dysków SSD. Aplikacja wykonuje serię testów zapisu na dysku SSD czekając na moment, kiedy wydajność znacząco spadnie. Przyczyną tego zachowania jest Write Amplification.
Przypomnijmy, czym jest Write Amplification. W sytuacji, gdy na dysku dostępna jest mała ilość wolnej przestrzeni, dysk nie jest w stanie przyjmować kolejnych zapisów z dotychczasową wydajnością. W przeciwieństwie do dysków magnetycznych, dane na dysku SSD nie mogą zostać po prostu nadpisane. Za każdym razem, gdy zapisujemy kolejne dane, oprogramowanie dysku musi sprawdzić, które bloki dysku są wolne, zgromadzić te częściowo wykorzystane bloki i zwolnić przestrzeń. Dopiero wtedy nowe dane mogą zostać zapisane. Aby zapewnić sprawne działanie dysku, tymczasowe operacje są wykonywane w specjalnie zarezerwowanej przestrzeni. Im większa jest ta przestrzeń, tym dysk lepiej zachowuje się przy dużym obciążeniu zapisem. Różne dyski SSD maja tę przestrzeń różnej wielkości – generalnie modele klasy enterprise mają większą, dyski konsumenckie, mniejszą, co bezpośrednio jest też związane z ceną dysku twardego. W tym przypadku mówimy o przestrzeni, która w dysku jest dostępna, ale nie jest uwzględniana w rozmiarze dysku (można o niej powiedzieć, że to przestrzeń tymczasowa – cache). Narzędzie profilowania dysków w QNAP pozwala na rozszerzenie wbudowanej przestrzeni zarezerwowanej o dodatkową wielkość kosztem dostępnej pojemności dysku. W ten sposób możemy ręcznie rozszerzyć ten wbudowany cache zwiększając wydajność dysku nawet w przypadku wzmożonego zapisu. Programowy Over-Provisioning możemy ustawić na wielkość o 0% do nawet 60%, jednak narzędzie może ocenić, jaka wartość będzie optymalna.
Ze względu na liczbę dysków, jedyny test profilowania, który mogliśmy przeprowadzić, to profilowanie dla RAID 1. Poniżej widoczne są wyniki:
Pierwszy ekran pokazuje zależność liczby IOPS w zależności od ilości zapisanych danych. Tuż pod nim widzimy dokładniejszą reprezentację uzyskanych wyników. Jak widać największa wydajność dysku jest zapewniona przy dodatkowym provisioningu na poziomie 40 i 50 procent. W tym przypadku dyski dochodzą do 84000 IOPS i co ważne, bez względu na zapisaną ilość danych – ta wartość jet utrzymana. Warto zwrócić uwagę na powyższy wykres, a dokładnie na OP=0%. W tym przypadku pierwsze 100GB danych zapisywane jest przy wydajności 84000 IOPS, jednak w kolejnych etapach zapisywania danych znacząco spada, bo aż o połowę. Podobną zależność widzimy w przypadku poniżej, gdzie IOPS pokazane jest w zależności od czasu zapisywania danych. Oczywiście wykresy powinny się z grubsza pokrywać.
Powyższe wyniki przekładają się też na czas zapisywania danych. Poniżej widzimy ilość danych zapisanych w zależności od czasu wykonywanego testu. I tutaj znowu OP=40% i OP=50% pokazały najlepszy wynik, a więc przy takiej konfiguracji dane zostają zapisane najszybciej na macierzy złożonej z dysków DC SN640.
Jedną z cech charakterystycznych dla szybkich dysków SSD jest wyższa temperatura pracy, niż w przypadku dysków HDD. Na wykresach poniżej możemy zobaczyć temperaturę pracy każdego z dysków podczas wykonywania testu przy różnym OP. Jak widać, niezależnie od OP oraz czasu zapisywania danych, dyski utrzymywały w miarę stałą temperaturę pracy wynoszącą ok 55-60 st. C.
Jak widać możliwość zmiany zarezerwowanej przestrzeni na cache dysku ma duży wpływ na jego możliwości. Oczywiście należy pamiętać, że zwiększając taki provisioning, tracimy przestrzeń na dane. Dlatego należy do tego podejść racjonalnie i wypośrodkować ustawianą wartość, biorąc pod uwagę wyniki, ale też koszty. Testy, które wykonaliśmy obejmowały tylko RAID 1. Prawdopodobnie przy innych konfiguracjach, czyli przy większej liczbie dysków połączonych w RAID 5 czy RAID 10 wyniki byłyby nie tylko lepsze, ale też optymalny OP byłby niższy.
Kolejny test, któremu poddaliśmy dyski WD DC SN640 to DiskFill Test, którego wyniki zobaczysz na kolejnej stronie.