Jaka jest typowa wydajność udostępniania plików Windows (SMB) w gigabitowej sieci Ethernet?

10

Niedawno skonfigurowałem udostępnianie plików Windows za pośrednictwem gigabitowej sieci Ethernet (nie używam dużych ramek) z serwerem Samba i klientem Windows Vista. Zrobiłem kilka kopii plików, ale maksymalna przepustowość, jaką widzę, to 20 MB / s (megabajty, nie megabity), co stanowi około 15% teoretycznego maksimum 125 MB / s dla sieci. Serwer ma macierz RAID, która może zarządzać około 75 MB / s (wąskim gardłem jest szyna PCI), a klient może zarządzać około 40 MB / s w kopii z dysku na dysk.

Powinienem dodać, że w tym czasie nie było innego ruchu w sieci.

Rozumiem, że nigdy nie uzyskam teoretycznego maksimum, ale nie sądziłem, że będzie tak źle.

Jaka jest typowa wydajność udostępniania plików Windows (SMB) w gigabitowej sieci Ethernet?

Punkty bonusowe: co mogę dostroić (oprócz używania dużych ramek), aby przyspieszyć?

Kaypro II
źródło
2
Naprawiłem problemy z wydajnością w mojej sieci: były to połączenie słabej wbudowanej karty sieciowej na serwerze i starych sterowników karty sieciowej na kliencie. Widzę teraz między 50 MB / si 80 MB / s na kilku kopiach zbiorczych, które zrobiłem, aby przetestować. Chociaż wydaje się, że transfery nieoczekiwanie zatrzymują się na kilka sekund, od czasu do czasu.
Kaypro II
1
Inną przyczyną mojej słabej wydajności sieci było to, że po prostu uruchamiając Virtual PC (bez konieczności uruchamiania żadnych obrazów), coś wydaje się dławić moją kartę sieciową do ~ 100 Mb / s na moim komputerze z systemem Vista.
Kaypro II

Odpowiedzi:

8

Jakość kart sieciowych, przełączników i okablowania może mieć wpływ. Warto wyszukać recenzje kart sieciowych i przełączników, których używasz, aby sprawdzić, czy inne osoby zgłaszają je jako niezbyt skuteczne. Jestem przekonany, że karty sieciowe wbudowane w protezę są gorsze od transferów Gbit, choć z mojego doświadczenia nie wydaje się, aby miało to znaczącą różnicę w moim środowisku.

Jako punkt odniesienia, właśnie zainstalowałem nowe przełączniki Gbit w naszym biurze (zastępując stare przełączniki 100Mbit), a duże transfery SMB działają z prędkością blisko (ale mniej niż) 30 Mb / s pomiędzy każdą testowaną kombinacją maszyn. Właśnie przeprowadziłem szybki test z netcat między dwiema maszynami i uzyskałem podobne wyniki, więc nie sądzę, aby SMB było wąskim gardłem. Dwie maszyny, które właśnie przetestowałem, mają między sobą dwa przełączniki, które mogą mieć efekt, ale wydaje mi się, że ten efekt jest minimalny, biorąc pod uwagę, jak blisko dane do SMB przenoszą się do maszyny na tym samym przełączniku.

Najlepsza prędkość transferu, jaką widziałem w sieci Gbit, była nieco nieśmiała w najszybszym tempie 50 Mb / s. Miało to miejsce podczas przesyłania obrazu dysku z jednej maszyny do pliku na drugiej (w celu konwersji na dysk wirtualny VMWare. W takim przypadku obie maszyny zostały połączone za pomocą krótkiego kabla krzyżowego zamiast przełącznika. Zbiegiem okoliczności jedna z omawianych maszyn była jedną z maszyn, które właśnie przetestowałem i otrzymałem ~ 29 Mb / s od - najbardziej prawdopodobnym winowajcą głównego wąskiego gardła w moim przypadku jest prawdopodobnie 8-letnie okablowanie w budynku, które mogło zostać wykonane w tanim! Szybki (i równie nienaukowy) test w mojej małej sieci domowej pokazuje, że prędkości transferu przekraczają 35 MB / s kopiują plik z udziału Samby do pudełka Windows i 25 MB / s w innym kierunku (I '

Ramki Jumbo będą miały znaczenie dla masowych transferów, więc sugeruję, aby spróbować, jeśli cały zestaw obsługuje je poprawnie.

Krótko mówiąc: idąc za moim anegdotycznym doświadczeniem, twoje 20 Mb / s jest trochę wolne, ale nie tak masowo. Wszystkie moje instalacje systemu Windows i Samby są prawie całkowicie nieregulowane, więc podejrzewam, że twój sprzęt / okablowanie jest różnicą między tym, co widzę, a tym, co widzisz.

Edytować

Oczywiście po pięciu latach od tej odpowiedzi sprzęt i oprogramowanie uległy zmianie. Często widzę transfery 90+ MiB / s na maszynach z siecią Gbit, nawet z tanim zestawem. Mój domowy serwer multimediów / kopia zapasowa / inny serwer wydaje się być ograniczony do nieco ponad 60 dla masowych transferów, ale wydaje się, że samba jest związana z procesorem na jednym rdzeniu sprzętu urządzenia.

David Spillett
źródło
Okablowanie nie powinno być dla mnie problemem, gigabitowa część mojej sieci to całkowicie CAT6. Nie mogę używać dużych ramek, ponieważ moja (domowa) sieć jest heterogeniczna - mam Wi-Fi i segment 100 Mb - i rozumiem, że duże ramki są gigabitowe. Chociaż gdybym mógł ograniczyć ramki typu jumbo do niektórych par hostów, mogłoby to działać. To dobra uwaga na temat sprzętu. Wszystkie moje są klasy konsumenckiej; Będę musiał to sprawdzić. Inna myśl, którą miałem, to sposób połączenia wbudowanych kart sieciowych może być problemem. Jeśli ktoś jest na szynie PCI, może to być czynnik.
Kaypro II,
1
nie masz na myśli „twoje 20 MB / s jest trochę wolne, ale nie tak masowo” (zjadł koniec)? w przeciwnym razie +1, niezły opis.
quack quixote
Dobry chwyt ~ kwak, właściwie zredagowany.
David Spillett
arrrgh. niestety nie mogę edytować komentarzy, bo przestałbym jeść koniec ...
quack quixote
4

Ahh ... to tutaj ważne jest, aby pracownik serwera zrozumiał, co jest pod maską. Ponieważ ma to dwa lata, sądzę, że już go rozwiązał. Jednak dla potomności lub każdego z podobnym problemem prawdopodobnie natknął się na to

(Rozmiar okna TCP * 8 bitów / RTT w milisekundach) = Maksymalna przepustowość TCP w bps

Chociaż możesz mieć sieć Gigabit, pojedynczy przepływ TCP prawdopodobnie nie będzie w stanie osiągnąć tak wysokiego poziomu.

Oto prosta tabela przy założeniu, że masz domyślny rozmiar okna TCP 65535 bajtów w systemie Vista

RTT 10 ms => Przepustowość TCP = 52428000 bps = 52 Mb / s

RTT 20 ms => Przepustowość TCP = 26214000 bps = 26 Mb / s

RTT 50 ms => Przepustowość TCP = 10485600 bps = 10 Mb / s

RTT 100 ms => Przepustowość TCP = 5242800 bps = 5,2 Mb / s

RTT 150 ms => Przepustowość TCP = 3495200 bps = 4,3 Mbps

RTT 200 ms => Przepustowość TCP = 2621400 bps = 2,5 Mb / s

RTT 300 ms => Przepustowość TCP = 1747600 bps = 1,7 Mb / s

RTT 500 ms => Przepustowość TCP = 1048560 bps = 1 Mb / s

Przy prędkości 20 Mb / s lub 160 Mb / s opóźnienie w obie strony prawdopodobnie będzie rzędu 3 milisekund. Jedynym innym sposobem na przyspieszenie tego jest użycie optymalizatorów TCP, które usuwają duplikaty przez drut lub łączą fragmenty w większe pakiety. Przez sieć LAN, która prawdopodobnie nie przyniesie ci wiele zysków. Jeśli używasz sprzętu SoHo, takiego jak Linksys lub Netgear, prawdopodobnie opóźnienie jest spowodowane brakiem wspólnych buforów na przełączniku. Jeśli jest to większy przełącznik, taki jak port 24, upewnij się, że oba urządzenia są podłączone do tego samego układu ASIC. Pomoże to w opóźnieniu serializacji, ale niewiele. Gdybyś mógł obniżyć go do 2ms, dostałbyś doładowanie do około 31-32 Mb / s. Jeśli są na dwóch różnych przełącznikach, niewiele można zrobić bez nowego sprzętu.

Scott-CCIE24038
źródło
2

Nie znaczy to, że pomaga ci to w tym przypadku, ale Vista / Windows 7 rozmawiający z Windows 2008 Server użyje SMB2, który jest znacznie bardziej wydajny niż zwykły SMB i wykorzysta znacznie więcej przepustowości sieci. Aby uzyskać więcej informacji, zobacz Ulepszenia wydajności serwera plików za pomocą protokołu SMB2 w systemie Windows Server 2008 i Zwiększona wydajność sieci w systemach Microsoft Windows Vista i Windows Server 2008 .

SMB2 pracuje nad Sambą 4, ale wygląda na to, że jest importowany do Samby 3.5 .

Sim
źródło