Serwery

Testy wydajnościowe

przeczytasz w 4 min.

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.

MacierzTyp dyskówOdczyt [MB/s]Zapis [MB/s]
PojedynczySSD103111
RAID 0SATA112111
RAID 0SATA + SSD Cache111111
RAID 0 SATA + Qtier113112
RAID 0SSD111112
RAID 1SATA112110
RAID 1SATA + SSD Cache112111
RAID 1SATA + Qtier112112
RAID 1SSD113112
RAID 5SSD112112
RAID 10SSD113112

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

MacierzTyp dyskówOdczyt [MB/s]Zapis [MB/s]
PojedynczySSD113112
RAID 0SATA112112
RAID 0SATA + SSD Cache113113
RAID 0 SATA + Qtier113112
RAID 0SSD112112
RAID 1SATA10497
RAID 1SATA + SSD Cache110103
RAID 1SATA + Qtier112112
RAID 1SSD112110
RAID 5SSD112103
RAID 10SSD112112

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.

MacierzTyp dyskówOdczyt [IOPS]Zapis [IOPS]
PojedynczySSD1691517964
RAID 0SATA129732173
RAID 0SATA + SSD Cache1648318161
RAID 0 SATA + Qtier1622318391
RAID 0SSD1682617956
RAID 1SATA124222226
RAID 1SATA + SSD Cache1603417899
RAID 1SATA + Qtier1622318391
RAID 1SSD1692518398
RAID 5SSD1695218396
RAID 10SSD1701316073
JBODSSD1676217303

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

MacierzTyp dyskówOdczyt [IOPS]Zapis [IOPS]
PojedynczySSD1538620633
RAID 0SATA123753676
RAID 0SATA + SSD Cache1546820182
RAID 0 SATA + Qtier1465922015
RAID 0SSD1529120835
RAID 1SATA126121450
RAID 1SATA + SSD Cache1521620869
RAID 1SATA + Qtier1439221728
RAID 1SSD1538820298
RAID 5SSD1541220942
RAID 10SSD1544218453
JBODSSD1534917036

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.

      MacierzTyp dyskówOdczyt [MB/s]Zapis [MB/s]
      RAID 0 SMBSSD995970
      RAID 0 iSCSISSD1042980
      MacierzTyp dyskówOdczyt [IOPS]Zapis [IOPS]
      RAID 0 SMBSSD4614335740
      RAID 0 iSCSISSD5877753370

      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