Wydajność NAS: NFS vs Samba vs GlusterFS

31

Planuję nową infrastrukturę pamięci współdzielonej dla małej farmy serwerów WWW. Dlatego przeprowadziłem wiele testów z wieloma systemami plików NAS. W ten sposób otrzymałem nieoczekiwane wyniki i chciałbym wiedzieć, czy ktoś tutaj może to potwierdzić.

W skrócie: Samba jest znacznie szybsza niż NFS i GlusterFS do zapisu małych plików.

Oto, co zrobiłem: uruchomiłem prosty „test porównawczy rsync” z dużą ilością plików, aby porównać wydajność zapisu dla małych plików. Aby ułatwić odtwarzanie, ponownie uruchomiłem go teraz z zawartością obecnego wordpress tar.gz.

  • GlusterFS replikował 2: 32-35 sekund , duże obciążenie procesora
  • GlusterFS single: 14-16 sekund , duże obciążenie procesora
  • Klient GlusterFS + NFS: 16-19 sekund , duże obciążenie procesora
  • Serwer jądra NFS + klient NFS (synchronizacja): 32-36 sekund , bardzo niskie obciążenie procesora
  • Serwer jądra NFS + klient NFS (asynchronizacja): 3-4 sekundy , bardzo niskie obciążenie procesora
  • Samba: 4-7 sekund , średnie obciążenie procesora
  • Dysk bezpośredni: <1 sekunda

Absolutnie nie jestem guru samby (myślę, że moim ostatnim kontaktem był samba 2.x), więc niczego tu nie zoptymalizowałem - po prostu gotowa konfiguracja (pakiet debian / squeeze). Jedyną rzeczą, którą dodałem „synchronizacja zawsze = tak”, która ma wymusić synchronizację po zapisaniu (ale widząc te wyniki ..). Bez niego testy byłyby o około 1-2 sekundy szybsze.

Wszystkie testy były przeprowadzane na tym samym komputerze (samozmontowany eksport NAS), więc nie ma opóźnień w sieci - czysta wydajność protokołu.

Węzeł boczny: Jako system plików użyłem ext4 i xfs. Powyższe wyniki dotyczą ext4. xfs działał do 40% (krócej) lepiej. Maszyny są małymi instancjami EC2 m1. Eksport NAS odbywa się na woluminach EBS, źródłach (wyodrębniona smoła) na efemerycznym dysku.

No to proszę: czy ktoś może mi wyjaśnić, dlaczego samba jest o wiele szybsza?

Ponadto: Czy wydajność NFS z serwerem jądra powinna być tak okropna (przewyższona przez serwer NFS GlusterFS) w trybie synchronizacji? Masz pomysł, jak to dostroić?

Dzięki, L

Linus Ardberk
źródło
Zapomniałem: miary NFS są najlepsze z kilku, gdzie bawiłem się rsize, wsize, noatime, noac, udp vs tcp i tak dalej.
Linus Ardberk
3
+1 za badania i testy!
Bigbio2002
1
Zauważyliśmy te same różnice w wydajności CIFS w porównaniu z wydajnością NFS podczas opracowywania i testowania SoftNAS. Mogę potwierdzić, że asynchroniczny NFS jest znacznie szybszy niż synchronizacja NFS, a Samba wyrówna NFS w testach porównawczych, które uruchomiliśmy przy użyciu oprogramowania testowego ATTO.
3
Nawiasem mówiąc, czy zrestartowałeś każdą maszynę między testami, aby wyczyścić pamięć podręczną odczytu dysku?
Matt

Odpowiedzi:

5

Używamy Samby w szerokim zakresie i zawsze uważałem, że zazwyczaj jest szybsza niż NFS w prawie wszystkich przypadkach (i mówię tylko dlatego, że nie porównałem ich wystarczająco dużo).

Z tego, co widziałem po kilku przechwytywaniu pakietów, protokół SMB może być czatujący, ale najnowsza wersja Samby implementuje SMB2, który może zarówno wydawać wiele poleceń z jednym pakietem, jak i wydawać wiele poleceń, czekając na potwierdzenie od ostatniego rozkaz powrotu. To znacznie poprawiło jego szybkość, przynajmniej z mojego doświadczenia i wiem, że byłem zszokowany, gdy zobaczyłem różnicę prędkości także po raz pierwszy - Rozwiązywanie problemów z prędkościami sieci - The Age Old Enquiry

Univ426
źródło