Serwery

Testy wydajnościowe

Testy wydajnościowe serwera QNAP-a przeprowadziliśmy przy wykorzystaniu benchmarków ATTO Disk Benchmark, CrystalDiskMark oraz kopiując pliki z serwera i na serwer, przy użyciu Eksploratora Windows (SMB, iSCSI). Dodatkowo sprawdziliśmy wydajność urządzenia pod kątem operacji wejścia/wyjścia. Procedura kopiowania obejmowała próby przeprowadzone trzykrotnie:

  • kopiowanie na serwer i pobieranie z serwera jednego pliku o wielkości 2 GB
  • kopiowanie na serwer i pobieranie z serwera 1000 plików o wielkości 2 MB każdy
  • kopiowanie na serwer i pobieranie z serwera 10000 plików o wielkości 2 KB każdy

Platformą sprzętową do testów wykorzystania protokołów SMB, iSCSI był serwer HP ProLiant MicroServer N36L ze skonfigurowaną macierzą RAID 0.

  • System operacyjny: Windows Server 2008 R2
  • Procesor AMD Athlon DualCore 1,3 GHz
  • Pamięć RAM: 8 GB
  • Dysk twardy: macierz RAID 0
  • Sieć ethernet: 4x1 Gbps (zagregowane połączenie)
  • NAS i serwer testowy zostały podłączone do przełącznika sieciowego Netgear M5300

Z racji tego, że serwer może wykorzystywać zarówno nośniki SSD, jak i nośniki talerzowe, procedurę testową przeprowadzaliśmy w kliku scenariuszach. O ile w przypadku szybkości kopiowania użyte nośniki (z uwagi na ograniczenia sieci LAN) nie powinny wykazywać znaczących różnic, o tyle wydajność IOPS i zastosowane nośniki będą miały znaczenie.

  1. macierz z dysków SATA (talerzowych)
  2. macierz z dysków SSD
  3. macierz z dysków SATA z SSD Cache
  4. macierz z dysków SATA z Qtier

W teście wykorzystaliśmy nośniki SATA 2,5" WD Red 1 TB oraz nośniki SSD Kingston, ADATA i WD Blue. Serwer podłączony został do sieci z użyciem przełącznika Netgear M5300. Interfejsy serwera testowego oraz serwera QNAP zostały skonfigurowane jako LAG (802.3ad). 

Test kopiowania plików został przeprowadzony z wykorzystaniem nośników SSD. W ramach porównania przeprowadziliśmy dwa testy szybkości kopiowania dla macierzy RAID 1 i RAID 0 wykorzystujących klasyczne dyski SATA. Jednak w takim scenariuszu nie zauważyliśmy żadnych różnic jeśli chodzi o szybkość kopiowania danych. W związku z tym skupimy się tylko na testach nośników SSD w różnych konfiguracjach macierzowych. Szybkość kopiowania danych - szczególnie dużych plików stoi na bardzo wysokim i wyrównanym poziomie. We większości scenariuszy szybkość przekraczała 100 MB/s. Świetnie wygląda pobieranie mniejszych plików - 79 - 86 MB/s. 

Kopiowanie dużego pliku (2 GB)
Protokół SMB [MB/s]

  Upload
Download

Pojedynczy

 112
 112
RAID0  112
112
RAID1  106
 112
RAID 5  112
112
RAID 10  111
 112
JBOD  105
 109
iSCSI (RAID 0)  101
 113

Kopiowanie małych plików (1000x2 MB)
Protokół SMB [MB/s]

  Upload
Download

Pojedynczy

 49
 82
RAID0  51
 86
RAID1  46
 61
RAID 5  46
 82
RAID 10  50
 79
JBOD  42
 82
iSCSI (RAID 0)  67
 60

Kopiowanie małych plików (10000x2 KB)
Protokół SMB [MB/s]

  Upload
Download

Pojedynczy

 0,2
 0,5
RAID0  0,21
 0,48
RAID1  0,2
 0,48
RAID 5  0,2
 0,47
RAID 10  0,22
 0,5
JBOD  0,2
 0,43
iSCSI (RAID 0)  1,15
 0,63

Maksymalna wydajność sieciowa - odczyt z NAS i zapis na NAS
Protokół SMB [MB/s]

Maksymalna wydajność sieciowa zmierzona została z użyciem narzędzia diskspd. Test przeprowadziliśmy dla różnych konfiguracji macierzy i technologii. Wyniki są na niemal takim samym poziomie. Jedyna różnica to nieco wolniejszy zapis na pojedynczym dysku. W przypadku iSCSI "lekki spadek" zaliczyła macierz RAID 1 zbudowana z dysków SATA - 97 MB/s.

Macierz Typ dysków Odczyt [MB/s] Zapis [MB/s]
Pojedynczy SSD 103 111
RAID 0 SATA 112 111
RAID 0 SATA + SSD Cache 111 111
RAID 0  SATA + Qtier 113 112
RAID 0 SSD 111 112
RAID 1 SATA 112 110
RAID 1 SATA + SSD Cache 112 111
RAID 1 SATA + Qtier 112 112
RAID 1 SSD 113 112
RAID 5 SSD 112 112
RAID 10 SSD 113 112

Maksymalna wydajność sieciowa - odczyt z NAS i zapis na NAS
Protokół iSCSI [MB/s]

Macierz Typ dysków Odczyt [MB/s] Zapis [MB/s]
Pojedynczy SSD 113 112
RAID 0 SATA 112 112
RAID 0 SATA + SSD Cache 113 113
RAID 0  SATA + Qtier 113 112
RAID 0 SSD 112 112
RAID 1 SATA 104 97
RAID 1 SATA + SSD Cache 110 103
RAID 1 SATA + Qtier 112 112
RAID 1 SSD 112 110
RAID 5 SSD 112 103
RAID 10 SSD 112 112

IOPS - odczyt z NAS i zapis na NAS
Protokół SMB

Test pomiaru wartości IOPS dla 2 macierzy oraz dwóch protokołów przeprowadziliśmy z użyciem następujących parametrów testowych:

  • czas testu: 120 sekund
  • blok danych: 4 KB
  • liczba wątków: 8
  • wielkość pliku: 4 GB
  • oddzielny test dla odczytu: 100% read
  • oddzielny test dla zapisu: 100% write

Co wynika z testów? Jedna podstawowa zależność - typ nośnika/wydajność/opóźnienia IOPS. Zerknijmy na macierze RAID 0 oraz RAID 1 wykorzystujące nośniki SATA (dyski mechaniczne). Wydajność IOPS jest dość wysoka, choć przyrównując odczyt do zapisu wyraźnie widać, że ten drugi jest znacznie niższy. Zatem w mocno obciążonym środowisku które wykorzystuje serwer NAS, możemy liczyć się ze spadkiem szybkości kopiowania (oczywiście jeśli nie wykorzystamy w pełni interfejsów gigabitowych), ale także z opóźnieniami związanymi z dostępem do danych.

Jaki jest przekój opóźnień? Przy losowym odczycie z wykorzystaniem protokołu SMB dla macierzy RAID 0 i dysku SSD to 0,845 ms. Ta sama macierz złożona z klasycznych dysków - 0,994 ms. Znaczne różnice wystąpią przy losowym zapisie. I tak dla RAID 0 i dysków SSD to wartość 0,5 ms a dla dysków SATA - 1,84 ms.

Tak jak wspomnieliśmy - by poprawić wydajność warto zastosować dyski SSD. Jednak niekoniecznie wypełniając wszystkie zatoki NAS-a. Warto sprawdzić możliwości przyspieszenia pamięci podręcznej oraz Qtier. Szczególnie, że w obydwu przypadkach niewielkim kosztem możemy podnieść wydajność zapisu ponad 8-krotnie.

Macierz Typ dysków Odczyt [IOPS] Zapis [IOPS]
Pojedynczy SSD 16915 17964
RAID 0 SATA 12973 2173
RAID 0 SATA + SSD Cache 16483 18161
RAID 0  SATA + Qtier 16223 18391
RAID 0 SSD 16826 17956
RAID 1 SATA 12422 2226
RAID 1 SATA + SSD Cache 16034 17899
RAID 1 SATA + Qtier 16223 18391
RAID 1 SSD 16925 18398
RAID 5 SSD 16952 18396
RAID 10 SSD 17013 16073
JBOD SSD 16762 17303

IOPS - odczyt z NAS i zapis na NAS
Protokół iSCSI

Macierz Typ dysków Odczyt [IOPS] Zapis [IOPS]
Pojedynczy SSD 15386 20633
RAID 0 SATA 12375 3676
RAID 0 SATA + SSD Cache 15468 20182
RAID 0  SATA + Qtier 14659 22015
RAID 0 SSD 15291 20835
RAID 1 SATA 12612 1450
RAID 1 SATA + SSD Cache 15216 20869
RAID 1 SATA + Qtier 14392 21728
RAID 1 SSD 15388 20298
RAID 5 SSD 15412 20942
RAID 10 SSD 15442 18453
JBOD SSD 15349 17036

Wydajność LACP

Osobnym tematem jest wydajność serwera NAS przy wykorzystaniu dwóch interfejsów sieciowych skonfigurowanych jako "LAG" - 802.3ad. W tajkiej konfiguracji NAS wykorzystuje obydwie karty sieciowe zwiększając ogólną wydajność w przypadku kopiowania danych. Przełącznik sieciowy również posiadał odpowiednią konfigurację pozwalajacą na prawidłowe działanie LAG-a. To czego brakuje to odpowiednia liczba klientów, którzy będą w tym samym czasie pobierać i wysyłać dane. Do tego celu użyliśmy kilku komputerów podłączonych do przełącznika. Urządzenia w tym samym czasie pobierały i wysyłały dane na serwer. 

Ciekawostką jest fakt, że LACP zaczyna działać już w przypadku dwóch klientów które przesyłają dane. Choć w tym przypadku zaskoczyła nas trochę niska szybkość pobierania danych przez dwóch klientów. Sumarycznie wynosiła 178,5 MB/s. Jeden z klientów kopiował dane ze średnią szybkością 71,7 MB/s, drugi blisko 107 MB/s . Z kolei wysyłanie danych na serwer odbywało się już bez żadnych anomalii - 226,7 MB/s (rozkład szybkości 109 i 102 MB/s). Pozostało podłączyć kolejny host i ponowić test. Tu już nie było żadnych niespodzianek. Sumaryczna średnia szybkość pobierania z NAS-a wyniosła 233,8 MB/s. Jednoczesne wysyłanie danych - 231,9 MB/s. Podbone wyniki uzyskiwaliśmy w przypadku podłączenia kolejnych hostów kopiujących dane. Oczywiście średnia prędkość dla poszczególnych hostów była odpowiednio niższa. Jednak sumarycznie interfejsy sieciowe NAS-a został wysycone do maksimum.

Wydajność portów 10 GbE

W związku z tym, że nie dysponowaliśmy odpowiednimi urządzeniami posiadającymi porty Thunderbold ostatni test wydajności przeprowadziliśmy tylko dla portów 10 GbE. Do tego celu wykorzystaliśmy następującą konfigurację sprzętową:

Serwer IBM x3630M4

  • Windows Server 2012 R2
  • 2 x CPU Intel Xeon E5-2240 (2,4 GHz)
  • 64 GB pamięci RAM
  • Macierz RAID 10
  • 2 kontrolery Emulex OCe11102-NX z okablowaniem SFP+ Twinax DAC 
  • Kontrolery spięte w LAG (NIC Teaming) 802.3ad

Przełącznik sieciowy Netgear M5300

  • skonfigurowany LAG dla połączenia serwera IBM
  • skonfigurowany LAG dla połączenia serwera QNAP

QNAP TVS-882ST

  • skonfigurowany LAG 802.3ad
  • dyski SSD ADATA w macierzy RAID 0
  • protokół SMB i iSCSI

W pierwszym teście sprawdziliśmy jak wygląda wydajność kopiowana danych z użyciem SMB i iSCSI. Z uwagi na brak wystarczającej liczby klientów 10 GbE pomiary zostały wykonane z użyciem tylko jednego urządzenia klienckiego jakim był serwer IBM.

Wyniki testów są bardzo dobre, choć nie osiągnęliśmy deklarowanej przez producenta wydajności na poziomie 1140 MB/s. Jednak szybkość kopiowania danych z użyciem SMB na poziomie 973 MB/s (pobieranie z NAS-a) i 935 MB/s (wysyłanie na NAS) robi wrażenie. Poniżej grafik z transferami prezentujemy test wydajności CrystalDiskMark. 

Podobne wartości uzyskaliśmy wykorzystujac protokół iSCSI - pobieranie 980 MB/s, wysyłanie na NAS - 896 MB/s. 

Tak jak w przypadku testów 1 GbE tak i w testach 10 GbE sprawdziliśmy wydajność sieciową serwera zarówno pod kątem szybkości kopiowania, jak i wydajności IOPS. Poniżej tabele prezentują wartości pomiarów. Łatwo zauważycć, że wykorzystanie sieci 10 GbE nie tylko pozwoliło na zwiększenie szybkości kopiowania. Wyraźnie wzrosły także wartości iOPS dla obydwu protokołów.

Macierz Typ dysków Odczyt [MB/s] Zapis [MB/s]
RAID 0 SMB SSD 995 970
RAID 0 iSCSI SSD 1042 980

 

Macierz Typ dysków Odczyt [IOPS] Zapis [IOPS]
RAID 0 SMB SSD 46143 35740
RAID 0 iSCSI SSD 58777 53370

Test – protokół SMB i iSCSI ATTO Disk Benchmark

  • pojedynczy dysk, protokół SMB i iSCSI

  • RAID 0, protokół SMB i ISCSI

  • RAID 1, protokół SMB i iSCSI

  • RAID 5, protokół SMB i iSCSI

  • RAID 10, protokół SMB i iSCSI

  • JBOD, protokół SMB i iSCSI

Test – protokół SMB i iSCSI, CrystalDiskMark 3.0.2

  • pojedynczy, protokół SMB i iSCSI

  • RAID 0, protokół SMB i iSCSI

  • RAID 1, protokół SMB i iSCSI

  • RAID 5, protokół SMB i iSCSI

  • RAID 10, protokół SMB i iSCSI

  • JBOD, protokół SMB i iSCSI