Serwery plików NAS

Testy wydajnościowe

Testy wydajnościowe serwera Synology DiskStation DS215j 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). 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 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: 2x1 Gbps (połączenie 1000 Mbps, full duplex, link aggregation 802.3ad)

Elementem łączącym komputer oraz serwer NAS był przełącznik sieciowy Netgear M4100 (GSM7224). Połączenie gigabitowe pomiędzy platformą testową a przełącznikiem sieciowym pracowało w LACP 802.11ad, zaś NAS podłączony był poprzez port ethernet ze stałą szybkością 1 Gbps full duplex.

Zapoznając się z wynikami testów warto mieć na uwadze fakt, że DiskStation DS215j jest jednym z najtańszych dwudyskowych modeli serwerów NAS. Sprzęt przeznaczony jest dla użytkowników domowych lub niewielkiego biura. A co za tym idzie nie należy wymagać od niego kosmicznej wydajności. Choć w odniesieniu do ubiegłorocznych modeli Synology, np. DS214se mamy dość znaczny przeskok wydajnościowy. O czym za chwilę.

W przypadku testów DS215j z wykorzystaniem różnych typów macierzy i układów dyskowych na pierwszy plan wysuwa się system SHR. Rozwiązanie Synology jest o ponad 10% wydajniejsze niż macierze RAID 0, JBOD czy dyski, jako pojedyncze wolumeny. Jedyną niedogodnością w przypadku utworzenia pojedynczego wolumenu jest brak możliwości bezpośredniej migracji do macierzy SHR. By utworzyć macierz SHR z pojedynczego dysku (tworząc w ten sposób „furtkę” do rozszerzenia powierzchni dyskowej o kolejny dysk) w zakładce Wolumen lepiej skorzystać z Grup dysków. Co w kolejnym kroku pozwoli na utworzenie macierzy SHR.

Drugą opcją, która prócz możliwości utworzenia macierzy SHR z jednego dysku; mam możliwość dowolnego przydzielania przestrzeni dla wolumenów jest mechanizm tworzenia wielu wolumenów w macierzy RAID. Tworzy on grupę dysków oraz pozwala na określenie jej pojemności. Jest to olbrzymią zaletą w przypadku, gdy prócz korzystania z pojemności dyskowej do wymiany danych chcemy konfigurować cele iSCSI na poziomie bloku. Wykorzystując ustawienie wielu wolumenów w macierzy RAID możemy wolną przestrzeń z grupy dysków przydzielić dla iSCSI.

Z początku wygląda to na skomplikowany i zawiły proces. Jednak zanim uruchomimy serwer w środowisku produkcyjnym warto przetestować najlepszy dla siebie schemat wykorzystania wolumenów, grup dysków i przestrzeni dyskowej.

Po kilku słowach wyjaśnień wróćmy do wydajności sieciowej z użyciem 2 dysków w macierzy SHR. Do testów wykorzystaliśmy 2 dyski Seagate Constellation ES2 o pojemności 3 TB każdy. W testach pobierania i wysyłania danych pomiędzy serwerem NAS a serwerem produkcyjnym najwyższe wyniki osiągnęliśmy właśnie przy użyciu macierzy SHR. Ponad 111 MB/s w kierunku odczyt z NAS i ponad 100 MB/s w kierunku zapis. Nieco wolniej dane zapisywane były na NAS w przypadku RAID 1.

Mierząc wydajność dla celów iSCSI skupiliśmy się na macierzy RAID 0 na poziomie bloku i plików. W obydwu przypadkach odczyt i zapis dla dużych plików oscyluje w granicach 62-74 MB/s. Nie są to wartości wysokie, jednak należy pamiętać, że DS215j nie jest urządzeniem przeznaczonym ściśle do zadań, które wykorzystują iSCSI, np. mechanizmów wirtualizacji.

Mile zaskoczenie jesteśmy wydajnością portu USB 3.0 dla dysków z formatem plików FAT32. Duże pliki kopiowane były z prędkością przekraczającą ponad 90 MB. Niestety nośniki NTFS to spadek wydajności o połowę. Odczyt około 47 MB/s a zapis 35 MB/s. Dużo lepiej wygląda obsługa USB 2.0 – zarówno dla NTFS jak i FAT 32 szybkość zapisu wynosiła od 24-31 MB/s.

Testy praktyczne potwierdziły się w trakcie badania wydajności benchmarkami. Przeglądając wyniki benchmarków i testów w praktyce warto pamiętać, że były one przeprowadzone na serwerze, który nie był obciążony innymi dodatkowym zadaniami. Nie instalowaliśmy również dodatkowych pakietów mogących mieć wpływ na wartości wyników.

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

Pojedynczy wolumen 90,73
93,75
RAID0 101,78
101,51
RAID1 89,08
100,33
JBOD 96,11
101,11
SHR 100,18
111,05
Folder szyfrowany 18,00
28,95
RAID 0 Poziom bloku nie dotyczy
nie dotyczy
RAID 0 pliki nie dotyczy
nie dotyczy
Dysk USB 3.0 NTFS 35,16
46,78
Dysk USB 3.0 FAT32 53,38
94,43
Dysk USB 2.0 NTFS 24,76
30,15
Dysk USB 2.0 FAT32 28,95
31,11
  Upload
Download

 

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

Pojedynczy wolumen nie dotyczy
nie dotyczy
RAID0 nie dotyczy
nie dotyczy
RAID1 nie dotyczy
nie dotyczy
JBOD nie dotyczy
nie dotyczy
SHR nie dotyczy
nie dotyczy
Folder szyfrowany nie dotyczy
nie dotyczy
RAID 0 Poziom bloku 74,10
70,76
RAID 0 pliki 71,28
62,21
Dysk USB 3.0 NTFS nie dotyczy
nie dotyczy
Dysk USB 3.0 FAT32 nie dotyczy
nie dotyczy
Dysk USB 2.0 NTFS nie dotyczy
nie dotyczy
Dysk USB 2.0 FAT32 nie dotyczy
nie dotyczy
  Upload
Download

 

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

Pojedynczy wolumen 46,70
61,16
RAID0 50,03
57,25
RAID1 45,68
57,25
JBOD 47,18
58,15
SHR 51,53
76,86
Folder szyfrowany 14,53
25,50
RAID 0 Poziom bloku nie dotyczy
nie dotyczy
RAID 0 pliki nie dotyczy
nie dotyczy
Dysk USB 3.0 NTFS 29,96
37,11
Dysk USB 3.0 FAT32 29,93
74,08
Dysk USB 2.0 NTFS 23,40
23,56
Dysk USB 2.0 FAT32 24,28
29,06
  Upload
Download

 

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

Pojedynczy wolumen nie dotyczy
nie dotyczy
RAID0 nie dotyczy
nie dotyczy
RAID1 nie dotyczy
nie dotyczy
JBOD nie dotyczy
nie dotyczy
SHR nie dotyczy
nie dotyczy
Folder szyfrowany nie dotyczy
nie dotyczy
RAID 0 Poziom bloku 59,71
57,11
RAID 0 pliki 58,96
49,08
Dysk USB 3.0 NTFS nie dotyczy
nie dotyczy
Dysk USB 3.0 FAT32 nie dotyczy
nie dotyczy
Dysk USB 2.0 NTFS nie dotyczy
nie dotyczy
Dysk USB 2.0 FAT32 nie dotyczy
nie dotyczy
  Upload
Download

 

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

Pojedynczy wolumen 0,28
0,65
RAID0 0,32
0,71
RAID1 0,27
0,72
JBOD 0,31
0,64
SHR 0,34
0,76
Folder szyfrowany 0,08
0,67
RAID 0 Poziom bloku nie dotyczy
nie dotyczy
RAID 0 pliki nie dotyczy
nie dotyczy
Dysk USB 3.0 NTFS 0,10
0,26
Dysk USB 3.0 FAT32 0,10
0,34
Dysk USB 2.0 NTFS 0,09
0,25
Dysk USB 2.0 FAT32 0,09
0,31
  Upload
Download

 

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

Pojedynczy wolumen nie dotyczy
nie dotyczy
RAID0 nie dotyczy
nie dotyczy
RAID1 nie dotyczy
nie dotyczy
JBOD nie dotyczy
nie dotyczy
SHR nie dotyczy
nie dotyczy
Folder szyfrowany nie dotyczy
nie dotyczy
RAID 0 Poziom bloku 1,47
1,42
RAID 0 pliki 0,71
1,32
Dysk USB 3.0 NTFS nie dotyczy
nie dotyczy
Dysk USB 3.0 FAT32 nie dotyczy
nie dotyczy
Dysk USB 2.0 NTFS nie dotyczy
nie dotyczy
Dysk USB 2.0 FAT32 nie dotyczy
nie dotyczy
  Upload
Download

Biorąc pod uwagę wydajność warto kilka słów wspomnieć o parametrze IOPS – liczbie operacji wejścia i wyjścia na sekundę. Porównując modele serwerów NAS z drugiej połowy ubiegłego roku, a także stosowane w nich komponenty wyraźnie widać skok wydajnościowy. Wzięliśmy pod uwagę wartość IOPS osiągane w DS214se – protokół SMB, 4-kilobajtowy pakiet danych (Q16D16) to wartość około 85 IOPS (dla odczytu 100%) i 270 IOPS dla zapisu. Wydajniejszy DS415play pozwalała na osiągnięcie odpowiednio rezultatów odpowiednio 111 i 545 IOPS. Zaś DS215j odnotowuje znacznie wyższe wartości – 235 oraz aż 1752 IOPS. Oczywiście podobne różnice w wydajności i wartościach IOPS widać także dla innych parametrów – np. zapisu i odczytu sekwencyjnego.