Test nr 1 – QuTS hero

Po podłączeniu dysków Micron 7450 Pro do urządzenia uruchomiliśmy wbudowany w system test odczytu sekwencyjnego i odczytu IOPS, które pokazują mierzone wartości dla każdego dysku oddzielnie. Test dostępny jest z poziomu aplikacji „Pamięć masowa i migawki” w systemie QTS/QuTS hero. Przeprowadzony test zakończył się następującymi wynikami:

I tutaj małe pozytywne zaskoczenie. Oczywiście spodziewaliśmy się zobaczyć wysokie wartości (już 3,6 GB/s w przypadku testowanych kiedyś Kingston DC1500M robiło wrażenie), to jednak uzyskany wynik nie pozostawia nas bez emocji. Każdy dysk wykazał możliwość odczytu danych w formie sekwencyjnej na poziomie (!!!) 6,81 GB/s. Tak, prawie 7 GIGABAJTÓW na sekundę. Czyli odczyt płyty DVD zająłby jakieś 0,6 sekundy… Natomiast w przypadku IOPS zmierzone wartości przekraczają 250 tysięcy, co również jest wynikiem fascynującym.

Na tem moment – jesteśmy pod ogromnym wrażeniem. Ale zobaczymy, co będzie dalej 🙂

Dlatego też od razu przechodzimy do drugiego testu, który możemy przeprowadzić bezpośrednio  w systemie QuTS hero. Jest to długotrwały test profilowania dysków SSD, który pozwala ocenić wydajność w IOPS w zależności od ustawienia dodatkowego Over-Provisioningu dysku.

Przypomnijmy, czym jest Write Amplification. W sytuacji, gdy na dysku SSD 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.

Test Over-Provisioningu przeprowadzony został dla wszystkich poziomów RAID, w których testujemy dyski, a więc RAID 0, RAID 5 i RAID 10. Plusem testu OP jest również to, że system testuje prędkości zapisu i odczytu danych z każdego dysku (sekwencyjny i IOPS). Zobaczmy zatem, jak wyglądają wyniki dla RAID 0. Najpierw spójrzmy na wyniki dla każdego z dysków:

Jak widać w powyższej tabelce, każdy z testowanych dysków w tej konfiguracji uzyskał 6,81 GB/s w odczycie sekwencyjnym, a więc wynik niemal taki sam, jak deklarowany przez producenta (niemal, bo o 0,01 GB/s wyższy). Jeśli chodzi o pozostałe wartości, to odczyt sekwencyjny jest również podobny do deklarowanego (1,39 GB/s do 1,4 GB/s ze specyfikacji). Wyników zapisu i odczytu IOPS nie porównujemy do specyfikacji producenta, ponieważ tutaj będziemy weryfikować wyniki całej grupy RAID w późniejszych testach.

A teraz zobaczmy, jak wygląda Over-Provisioning dla 4 dysków w RAID 0, czyli wyniki będące faktycznym celem przeprowadzonego profilowania SSD.

Jak widać w powyższej tabelce i na grafice, najlepsze wyniki dysk osiąga przy OP ustawionym na 30%. Jednak warto tutaj zauważyć, że różnica nie jest znacząco duża pomiędzy wartością 0% a 30%, co więcej, przy OP ustawionym na 0% możemy zauważyć wyższą wydajność niż w przypadku 10%. Jednak w powyższej tabelce widzimy wartości uśrednione. Analizując przebieg w czasie możemy zobaczyć, że wartość 30% oferuje najlepsze długoterminowe wyniki wydajności dysku.

Zobaczmy teraz, jak dyski zachowały się podczas analogicznego testu, ale gdy zostały połączone w RAID 5

RAID 5

W przypadku tego poziomu RAID widzimy inną zależność niż we wcześniejszej konfiguracji – tym razem faktycznie zwiększenie dodatkowego provisioningu pozwala na uzyskanie lepszej wydajności. I znowu najlepszy wynik uzyskaliśmy przy OP ustawionym na 30%. To pokazuje, że w przypadku konfiguracji dysków Micron 7450 PRO w RAID 5 warto ustawić wyższą wartoś programowego over-provisioningu, ponieważ pozwoli to na uzyskanie lepszej wydajności. Jednak na tym etapie warto zadać sobie istotne pytanie – czy zależy nam na wydajności, czy powierzchni? RAID 5 dobrze sprawdza się w przypadku zastosowań, gdzie przeważa zapis sekwencyjny, a ten z kolei nie wymaga wysokiej ilości IOPS. Dlatego strata 30% powierzchni każdego dysku na poczet lepszej wydajności w RAID 5 trochę mija się z celem. Jeśli zależy nam na wydajności losowego zapisu i odczytu – inne poziomy RAID nadają się do tego lepiej.

RAID 10

No i pozostał nam do analizy RAID 10. Tutaj podobnie jak wcześniej w RAID 5 widzimy tendencję do zwiększania wydajności IOPS wraz ze wzrostem programowego OP. Średnia wartość przy OP=30% jaką udało się uzyskać w teście to prawie 86 tysięcy IOPS, natomiast przy OP=0% było to już zauważalnie mniej, bo 65 tysięcy. To pokazuje, że w przypadku środowisk wymagających dużej liczby IOPS, dyski Micron 7450 PRO U.3 warto sprawdzić narzędziem profilowania SSD, aby zweryfikować, jaka wartość OP będzie najlepsza. A następnie podczas konfiguracji taką ustawić. Oczywiście w tym przypadku mówimy o wykorzystaniu tych dysków w QNAP NAS, który oferuje zarówno narzędzie profilowania dysków SSD jak i możliwość ręcznego ustawienia konkretnej wartości OP dla dysków w konkretnej puli.

Tutaj warto zaznaczyć jeszcze jedną rzecz – uzyskane wyniki mają na celu wskazać, jaka wartość OP będzie dla testowanych dysków i poziomu RAID najlepsza, a nie jaka jest najwyższa wydajność IOPS dla testowanych dysków. Druga ważna kwestia to fakt, że test nie jest wykonywany ze stałą długością, tylko aplikacja kończy test po uzyskaniu optymalnych wyników, stąd na poniższych wykresach część linii przebiegu jest krótsza (np. RAID 0).

Na tym etapie kończymy pierwszą cześć testów związaną z narzędziami, które oferuje nam QTS/QuTS hero. Kolejne testy będziemy już przeprowadzali przy użyciu zewnętrznych narzędzi. Zaczniemy od testów na poziomie samego urządzenia (DiskFill test, dd), a następnie sprawdzimy, jak szybko można zapisywać i odczytywać dane na urządzeniu z dyskami Micron 7450Pro przez sieć. A do tego celu wykorzystamy sieć 25GbE.