TEST 3 – VM – CristalDiskMark
I tutaj dochodzimy do zmiany metodyki testowania dysków twardych. O ile do ten pory testowaliśmy, jak wydajnie dyski WD Gold DC SN600 mogą pracować podczas wykorzystania przez sam NAS, o tyle wykonanie testu z urządzeniem zewnętrznym jest utrudnione. A może nie tyle utrudnione, co nie pozwoli w pełni wykorzystać potencjału testowanych dysków. Dyski testujemy w modelu QNAP TS-h973AX, który fabrycznie wyposażony jest w 1 port 10GbE Nbase-T. Niestety nie mamy do dyspozycji portów PCIe, co uniemożliwia zamontowanie dodatkowych kart sieciowych. Dlaczego jest to więc ograniczenie? Ponieważ w przypadku testowanych dysków możemy osiągnąć teoretycznie wydajność prawie 3GB na sekundę. Przy karcie 10GbE, maksymalna przepustowość to ok 1200MB/s, a więc 2,5x mniej. Tak więc test nie pokaże nam, jak szybkie mogą być te dyski. Dlatego zdecydowaliśmy o zmianie podejścia. Do dalszego testowania dysków korzystamy z maszyny wirtualnej uruchomionej na tym samym QNAP. Konfiguracja wygląda następująco:
- QNAP NAS został zainicjowany z zamontowanym dyskiem WD o wielkości 460GB, który został wykorzystany jako dysk systemowy.
- Podłączyliśmy i sprofilowaliśmy dyski DC SN600. Na tych dyskach została utworzona osobna pula – najpierw w RAID 0, później w RAID 1
- Na dysku systemowym została zainstalowana aplikacja Virtualization Station, po czym pobraliśmy obraz maszyny wirtualnej z systemem Windows 10 (90-dniowa wersja trial udostępniona przez Microsoft).
- W maszynie wirtualnej uruchomiliśmy aktualizacje, dograliśmy wymagane w testach aplikacje oraz zestaw narzędzi Guest Tools.
- Dodaliśmy do maszyny wirtualnej kolejny dysk, który został zapisany na puli nr 2 (zbudowanej na WD Gold). W przypadku RAID 1 dysk miał wielkość 1024GB, a w RAID 1 – 750GB
- W konfiguracji użyliśmy trybu VirtIO, który oferuje najwyższą wydajność podczas komunikacji VM <–> dysk VM.
- Dysk został podłączony bez dodatkowego cache, później sformatowany w Windows jako dysk GPT w systemie plików NTFS.
Ponieważ do testów otrzymaliśmy dwa dyski twarde, mogliśmy przetestować ich wydajność tylko w dwóch konfiguracjach RAID:
- RAID 0
- RAID 1
Jednak nie miało to przełożenia na wykonywane testy, dlatego dla obu konfiguracji przeprowadziliśmy następujące pomiary:
- Plik 16MiB, odczyt 90%, zapis 10%
- Plik 16MiB, odczyt 10%, zapis 90%
- Plik 64GB, odczyt 90%, zapis 10%
- Plik 64GB, odczyt 10%, zapis 90%
Najpierw zobaczmy wyniki wykonane w maszynie wirtualnej dla odczytu i zapisu przy transferze sekwencyjnym:
No i tutaj pojawia się zmiana w stosunku do wcześniej widzianych wyników. Średnia z odczytu danych w RAID 0 i RAID 1 znacząco wzrosła, bo udało nam się osiągnąć wyniki na poziomie 4130 MB/s w RAID 0 i 3315 MB/s w RAID 1. A więc widzimy bardzo duży przeskok w stosunku do wcześniejszych maksymalnie 2,7 GB/s. Warto też zaznaczyć, że testy były wykonywane dla plików o znaczącej różnicy wielkości – pliki 16MiB i 64GiB. A jednak w obu przypadkach udało się uzyskać bardzo wysokie wyniki. Oczywiście CristalDiskMark w tym przypadku rejestruje wyniki najwyższe, a nie uśrednione.
Sprawdźmy, jak podobny test wykonany z poziomu serwera z Windows Server 2019:
No i tutaj widzimy zależność, o której pisaliśmy we wstępie do testu CristalDiskMark. Ponieważ serwer połączony był z QNAP przy użyciu łącza 1x10GbE, nie było możliwości, aby prędkość była wyższa niż ok. 1200 MB/s. Stąd widzimy wyniki ocierające się o wysycenie łącza. Niestety, z punku widzenia benchmarków są one bezwartościowe, ponieważ nie pokazują faktycznych możliwości dysków. Jednak w przypadku naszych testów nie mieliśmy innej możliwości (np. agregacji łączy), ponieważ model TS-h973AX wyposażony jest tylko w jeden port 10GbE i nie można zainstalować dodatkowych w firmie karty rozszerzeń PCIe.
Przejdźmy teraz do wyników dla zapisu i odczytu losowego przy u życiu bloku 4K. Podobnie jak wyżej, porównamy wyniki uzyskane w maszynie wirtualnej oraz w zewnętrznym serwerze Windows Server 2019, który był podłączony łączem 10GbE.
Wydajność IOPS pokazuje nam zupełnie inny obraz niż wcześniejszy test. O ile maszyna wirtualna, której dysk był utworzony w Puli obejmującej dyski U.2 WD Gold miała możliwość zapisu i odczytu danych na bardzo wysokim poziomie, o tyle wydajność IOPS jest niemal dziesięciokrotnie niższa. Ma to związek z architekturą storage takiego środowiska testowego. W przypadku połączenia iSCSI, przestrzeń dyskowa jest utworzona jako LUN blokowy, bezpośrednio na poziomie puli pamięci. Dysk maszyny wirtualnej to obraz, który znajduje się w utworzonym wcześniej woluminie, który z kolei utworzony jest w puli pamięci. A więc mamy w takiej konfiguracji więcej „warstw”, które przekładają się na spadek wydajności w zapisach i odczytach losowych. To też pokazuje, że w przypadku maszyn wirtualnych działających na QNAP, optymalnym rozwiązaniem jest utworzenie LUN blokowego w puli i podłączenie go do maszyny przez iSCSI. Wtedy połączenia na poziomie QNAP osiągają przepustowość 10GbE. My jednak podeszliśmy do tematu w odrębny sposób, ponieważ zależało nam na przetestowaniu maksymalnej przepustowości, którą uda się osiągnąć podczas zapisu i odczytu danych z dysków DC SN640.
A teraz czas na kolejny test, czyli IOmeter.