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
źródło
Odpowiedzi:
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
źródło