Dwa komputery stacjonarne rozmawiają ze sobą bezpośrednio. Oba mają karty sieciowe z obsługą Gigabit Ethernet. To 1 Gb / s lub 1000 Mb / s. Mam je połączone z nowym 10-metrowym prostym kablem Cat6 UTP i zbliżam się do teoretycznego maksimum. Menedżer zadań Windows (karta Sieć) pokazuje 844 - 946 Mbps w jednym kierunku. Ale w przeciwnym kierunku pokazuje tylko około 326 - 365 Mbps.
Local: 192.168.100.152
Remote: 192.168.100.151
Na komputerze lokalnym działa system Windows 8.1 Pro i mam połączenie zdalne z innym komputerem z systemem Windows Vista Ultimate.
Wyniki Iperf
Użyłem Iperf do przeprowadzenia testów. Za każdym razem przeprowadzałem test przez 60 sekund. Przeprowadziłem test 10 razy dla każdego kierunku komunikacji. Następnie zestawiłem tę tabelę z wynikami testów, aby uzyskać średnią.
192.168.100.152 -> 192.168.100.151 106 MB/s
192.168.100.152 -> 192.168.100.151 107 MB/s
192.168.100.152 -> 192.168.100.151 108 MB/s
192.168.100.152 -> 192.168.100.151 107 MB/s
192.168.100.152 -> 192.168.100.151 107 MB/s
192.168.100.152 -> 192.168.100.151 104 MB/s
192.168.100.152 -> 192.168.100.151 101 MB/s
192.168.100.152 -> 192.168.100.151 108 MB/s
192.168.100.152 -> 192.168.100.151 108 MB/s
192.168.100.152 -> 192.168.100.151 108 MB/s
----------------------------------------------------
Min: 101 MB/s Max: 108 MB/s Avg: 106.4 MB/s (851.2 Mbps)
192.168.100.152 <- 192.168.100.151 41.1 MB/s
192.168.100.152 <- 192.168.100.151 41.1 MB/s
192.168.100.152 <- 192.168.100.151 41.1 MB/s
192.168.100.152 <- 192.168.100.151 41.0 MB/s
192.168.100.152 <- 192.168.100.151 41.0 MB/s
192.168.100.152 <- 192.168.100.151 41.1 MB/s
192.168.100.152 <- 192.168.100.151 41.0 MB/s
192.168.100.152 <- 192.168.100.151 41.1 MB/s
192.168.100.152 <- 192.168.100.151 41.1 MB/s
192.168.100.152 <- 192.168.100.151 41.1 MB/s
-----------------------------------------------------
Min: 41.0 MB/s Max: 41.1 MB/s Avg: 41.07 MB/s (328.56 Mbps)
Moje pytanie brzmi: dlaczego jest o wiele wolniej w innym kierunku?
Menedżer zadań systemu Windows
Jest to schemat sieciowy widziany podczas wykonywania testów w Iperf.
Zwróć uwagę na schemat na dwóch poniższych zrzutach ekranu!
Czy zauważyłeś, jak zmieniło się z „1 Gbps” na „500 Mbps” w prawym górnym rogu, kiedy przełączyłem się z wysyłania danych na odbieranie danych. Dlaczego to zrobił? Czy w jakiś sposób wyczuwa drugi port sieciowy jako połowę 1 Gb / s, gdy idzie w jedną stronę, ale jest pełny, gdy idzie w drugą stronę?
Test transferu plików
Zrobiłem więcej testów z plikiem danych, aby uzyskać bardziej realistyczne odczyty z dysku na dysk. W tym celu utworzyłem plik 1 GB. Użyłem tylko domyślnych funkcji udostępniania plików Windows. Z komputera lokalnego połączyłem się z udziałem C $ na komputerze zdalnym i przeciągnąłem i upuściłem plik tam iz powrotem (przeskakując linę) między nimi, zmieniając nazwę pliku za każdym razem. Zmierzyłem czas z moimi najlepszymi umiejętnościami i właśnie to mam.
192.168.100.152 -> 192.168.0.151 1073741824 Byte 25 s 40,96 MB/s
192.168.100.152 -> 192.168.0.151 1073741824 Byte 20 s 51.2 MB/s
192.168.100.152 -> 192.168.0.151 1073741824 Byte 16 s 64 MB/s
192.168.100.152 -> 192.168.0.151 1073741824 Byte 16 s 64 MB/s
192.168.100.152 <- 192.168.0.151 1073741824 Byte 11 s 93.091 MB/s
192.168.100.152 <- 192.168.0.151 1073741824 Byte 34 s 30.118 MB/s
192.168.100.152 <- 192.168.0.151 1073741824 Byte 11 s 93.091 MB/s
192.168.100.152 <- 192.168.0.151 1073741824 Byte 11 s 93.091 MB/s
Przepustowość wskazana przez schemat kopiowania plików systemu Windows mówi inną historię. Tutaj pobieram dwa pliki, jeden po drugim, do dwóch różnych lokalizacji na tym samym dysku. Pierwszy egzemplarz wskazywał, że 107 MB / s utrzymał się do 41%, a drugi wskazywał 98,9 MB / s utrzymywał się do 87%.
Jest to zgodne z wynikami uzyskanymi za pomocą narzędzia Iperf. Oto, jak to wygląda, gdy przesyłam na komputer zdalny.
Utrzymuje 103 MB / s do 73%, a następnie spada do śmierdzącego 27,3 MB / s przy 82%, a następnie idzie w górę do osiągnięcia 49,1 MB / s przy 93%.
Oto dwa kolejne śmiesznie wyglądające diagramy „roller coaster”.
Aktualizacja 1 - Szybkość łącza
Próbowałem wyłączyć adapter Wi-Fi na komputerze zdalnym. (Karta Wi-Fi została już wyłączona na komputerze lokalnym). Myślę, że właśnie to Timtech miał na myśli przez ten komentarz. Miałem tę samą myśl - że jednoczesne włączenie adapterów przewodowych i bezprzewodowych ograniczyło przepustowość adaptera przewodowego do poziomu adaptera Wi-Fi (dostosowanie do najwolniejszego adaptera w celu zapewnienia zgodności). Ponieważ adapter Wi-Fi (w tym przypadku DWA-160 Wireless N) jest zwykle wykrywany jako połączenie „52 Mbps” - „104 Mbps” przez komputer Vista.
Na poniższym zrzucie ekranu komputer zdalny jest skonfigurowany jako serwer, a komputer lokalny jako klient (192.168.100.152 <- 192.168.100.151).
Ale odłączenie adaptera Wi-Fi na komputerze zdalnym nie pomogło mojej niskiej przepustowości połączenia przewodowego.
Nie tylko to! W Menedżerze zadań Windows na komputerze zdalnym prędkość łącza dla adaptera przewodowego (LAN 1) jest wyświetlana jako „1 Gbps”. Jeśli odwołujesz się do zrzutów ekranu powyżej, możesz zobaczyć, że jest ono wykrywane jako łącze „500 Gbps” na komputerze lokalnym. Tak więc w przypadku tego samego połączenia przewodowego system Windows Vista mówi, że jest to łącze 1 Gb / s, podczas gdy jednocześnie Windows 8.1 Pro mówi, że jest to łącze 500 Gb / s ... który z nich jest wtedy odpowiedni?
Oto jak to wygląda na komputerze zdalnym, gdy skonfiguruję go jako klienta, a komputer lokalny jako serwer (192.168.100.152 -> 192.168.100.151).
Jak widać tutaj, wykorzystuje się około 95% łącza 1 Gb / s. To przekłada się na 950 Mb / s. Dokładnie to dostałem w powyższym teście. Ale odwrotna sytuacja to zupełnie inna historia.
Aktualizacja 2 - Dupleksowanie i MDI-X
Jak sugeruje niektórzy z was, przyjrzałem się ustawieniom dupleksu. Zarówno komputer lokalny, jak i zdalny zostały ustawione w tryb automatycznej negocjacji, co widać na poniższych zrzutach ekranu.
Próbowałem zmienić na „Full duplex 1.0 Gbps” na obu komputerach. Następnie wykonałem ten sam typ testów, co wcześniej, używając Iperf. Z komputerem lokalnym jako serwerem i komputerem zdalnym jako klientem uzyskuję maks. Około 950 Mb / s. Z komputerem lokalnym jako klientem i komputerem zdalnym jako serwerem uzyskuję około 360 Mb / s.
Tutaj spójrz na te zrzuty ekranu.
Tutaj widzisz schemat, gdy przesyłam i pobieram między dwoma komputerami. Wyższy wykres (wykorzystanie 95–98%) jest lokalny do zdalnego (upstream 192.168.100.152 -> 192.168.100.151). Dolny wykres (wykorzystanie ~ 33%) jest zdalny do lokalnego (192.168.100.152 poniżej - 192.168.100.151).
Aby spróbować wykluczyć jakiekolwiek problemy z Auto MDI-X, miałem jeden z tych adapterów crossover podłączonych do jednego końca kabla (komputer lokalny).
To z pewnością sprawiłoby, że kabel stałby się kablem skrzyżowanym. Do diabła, nawet przetestowałem to z testerem sieci! Rzeczywiście jest już skrzyżowane (piny 1/3, 2/6)!
Teraz mam prawdziwe połączenie kablowe między dwoma komputerami i ręcznie ustawiłem „Pełny dupleks 1.0 Gb / s”. Jednak wciąż mam ten sam problem. Jeszcze jakieś pomysły? Oprócz aktualizacji komputera Vista (lub ponownej instalacji komputera 8.1)?
Aktualizacja 3 - Ograniczenia dotyczące oprogramowania lub sprzętu?
Domyślam się, że mam dwa systemy operacyjne, które nie są ze sobą kompatybilne. Oba są systemami Windows, ale nie wszystkie systemy Windows są sobie równe. Będę musiał spróbować użyć Visty na obu, lub 8.1 Pro na obu i zobaczyć, jaką przepustowość otrzymam. Oznacza to zakup aktualizacji. Cholera, Microsoft.
Nawiasem mówiąc, oba komputery są zbudowane na zamówienie. Oto kilka specyfikacji.
Local
-----
Gigabyte GA-EP45-UD3R
Intel Core 2 Quad Q9650
Intel P45
Corsair XMS2 DHX TwinX DDR2 PC6400/800MHz 4 GB
Realtek 8111C chips (10/100/1000 Mbit)
WD Caviar Black WD1002FAEX
Windows 8.1 Pro 64-bit
Remote
------
Gigabyte GA-X38-DQ6
Intel Core 2 Duo E4500
Intel X38
Corsair XMS2 DHX TwinX DDR2 PC6400/800MHz 4 GB
Dual Realtek 8111B chip (10/100/1000 Mbit)
WD Caviar Black WD1002FAEX
Windows Vista Ultimate 64-bit
Tonny zasugerował, że maszyna Vista może używać złego układu Realtek. Więc wykopałem te specyfikacje. Widzę teraz, że maszyna Vista używa wersji B 8111, podczas gdy maszyna lokalna używa wersji C tego samego układu. Czy to coś znaczy? Oba są wyraźnie określone przez producenta dla 1000 Mbit (patrz wyżej). Czy to możliwe, że 8111B osiąga tak słabe wyniki (360 Mb / s)?
Te konkretne dyski osiągają szybkość serii 107 MB / s. Dokładnie taką liczbę widziałem w teście na komputerze lokalnym. Ale nawet ciągłe sekwencyjne lub losowe odczytywanie / zapisywanie z prędkością około 55 MB / s NIE przekłada się na 360 Mb / s. To powinno dać mi gdzieś około 440 Mbps, a nie 360 Mbps, które otrzymuję. Więc nie podejrzewam, że to będzie wąskie gardło, zwłaszcza że obaj używają tego samego modelu napędu. Poza tym operacja kopiowania plików to jedno, ale Iperf wcale nie używa dysków, do testów używa tylko pamięci RAM.
Aktualizacja 4 - Odciążenie sumy kontrolnej TCP
Jak zasugerował Tonny, próbowałem wyłączyć odciążanie sumy kontrolnej TCP (dla IPv4 i IPv6).
Dla obu komputerów przestawiłem „Speed & Duplex” z powrotem na auto. Ale to nie pomogło. Nadal mam niską przepustowość w jednym kierunku i wysoką w drugim kierunku.
Aktualizacja 5 - Nowa wersja sterownika
Próbowałem zaktualizować wersję sterownika zarówno lokalnie, jak i zdalnie do najnowszej wersji pobranej ze strony Gigabyte i strony Realtek.
Update path...
On local (RTL8111C):
8.1.510.2013 (2013-05-10, Microsoft)
8.20.815.2013 (2013-08-15, Realtek)
On remote (RTL8111B):
6.241.623.2010 (2010-06-23, Realtek)
6.250.908.2011 (2011-09-08, Realtek)
6.252.1109.2012 (2012-11-09, Realtek)
Nadal mam tę samą kiepską przepustowość w jednym kierunku.
Aktualizacja 6 - wykorzystanie procesora
Sprawdziłem wykorzystanie procesora. To nie powinno być problemem. Oto moje ustalenia.
On local...
Download: 4 - 10 %
Upload: 4 - 10 %
Idle: 0 - 4 %
On remote...
Download: 24 - 38 %
Upload: 10 - 25 %
Idle: 1 - 6 %
Lokalne (pobieranie, przesyłanie, bezczynność) ...
Zdalne (pobieranie, przesyłanie, bezczynność) ...
Pilot zużywa znacznie więcej mocy procesora, ale jest to również ten z wolniejszym Core 2 Duo. Ale nigdy nie przekroczyłem 38% punktu podczas moich testów. Szczególnie interesujące jest to, że zużywa o wiele więcej mocy procesora podczas pobierania (lokalne -> zdalne) niż podczas przesyłania (lokalne <- zdalne).
Tak więc przy przepustowości 950 Mb / s wykorzystuje 38%, a przy 360 Mb / s używa 25%. Również wykorzystanie rdzenia nie jest zrównoważone, wykorzystuje jeden rdzeń bardziej niż drugi. Nie jestem pewien, jaki wniosek z tego wyciągnąć. Komputer lokalny nie wyświetla wykorzystania rdzenia, więc nie mogę go porównać. Ale wykorzystanie procesora jest nawet na komputerze lokalnym (10% przy pobieraniu / wysyłaniu).
Aktualizacja 7 - Nowa karta sieciowa Intel Gigabit
Zainstalowałem teraz zupełnie nową kartę sieciową PCI-Express Gigabit od Intela jako zamiennik wbudowanego Realtek RTL8111B na komputerze zdalnym, który jak się wydaje jest zbyt wolny. Numer produktu adaptera Intel to EXPI9301CT. Ten adapter powinien być bardzo dobry zgodnie z recenzjami, które przeczytałem. Chcę po prostu wykluczyć to jako możliwe wąskie gardło.
Przeprowadziłem już testy z Iperf dla Windows i oto wyniki.
Lokalne (pobieranie, przesyłanie) ...
Zdalne (pobieranie, przesyłanie) ...
Ten adapter jest średnio nieco wolniejszy niż adapter Realtek. Myślę, że ma mniejszy narzut niż Realtek, dzięki czemu jest bardziej stabilny i ciągły. Ale nadal uzyskuję tylko około 360 Mb / s w jednym kierunku i 950 Mb / s w drugim, nawet z tym adapterem Intel.
local: 192.168.100.152 (win 8, realtek 8111c)
remote: 192.168.100.154 (vista, intel desktop ct)
192.168.100.152 -> 192.168.100.154 113 MB/s
192.168.100.152 -> 192.168.100.154 104 MB/s
192.168.100.152 -> 192.168.100.154 103 MB/s
192.168.100.152 -> 192.168.100.154 104 MB/s
192.168.100.152 -> 192.168.100.154 102 MB/s
192.168.100.152 -> 192.168.100.154 104 MB/s
192.168.100.152 -> 192.168.100.154 101 MB/s
192.168.100.152 -> 192.168.100.154 102 MB/s
192.168.100.152 -> 192.168.100.154 101 MB/s
192.168.100.152 -> 192.168.100.154 104 MB/s
----------------------------------------------
Max: 113 MB/s Min: 101 MB/s Avg: 103.8 MB/s
192.168.100.152 <- 192.168.100.154 42.2 MB/s
192.168.100.152 <- 192.168.100.154 41.2 MB/s
192.168.100.152 <- 192.168.100.154 41.1 MB/s
192.168.100.152 <- 192.168.100.154 43.0 MB/s
192.168.100.152 <- 192.168.100.154 42.3 MB/s
192.168.100.152 <- 192.168.100.154 42.3 MB/s
192.168.100.152 <- 192.168.100.154 40.2 MB/s
192.168.100.152 <- 192.168.100.154 40.9 MB/s
192.168.100.152 <- 192.168.100.154 41.3 MB/s
192.168.100.152 <- 192.168.100.154 42.0 MB/s
-----------------------------------------------
Max: 43.0 MB/s Min: 40.2 MB/s Avg: 41.65 MB/s
Nie mam pojęcia, dlaczego osiągnęło to 113 MB / s przy pierwszym uruchomieniu testowym, od lokalnego do zdalnego. Utrzymywał tę prędkość podczas całego testu, wykres był prawie płaski przy 113 MB / s. Tak jak poprzednio, użyłem 60-sekundowego przedziału dla każdego uruchomienia. Jednak przy następnym uruchomieniu spadł do 104 MB / s.
Jak widać po tych wartościach, nadal mam taką samą przepustowość z tym adapterem Intel, jak z wbudowanym adapterem Realtek. Myślę więc, że można bezpiecznie powiedzieć, że nie ma to nic wspólnego z samym adapterem. Możemy więc przestać obwiniać RTL8111B za gorszy / mniejszy układ niż RTL8111C znaleziony na drugiej płycie głównej. To coraz bardziej przypomina problem z oprogramowaniem / systemem operacyjnym / konfiguracją lub wszystkie trzy rzeczy naraz.
Aktualizacja 8 - świetne wyniki dzięki Ubuntu LINUX
Po wyczerpaniu wszystkich innych opcji w końcu zdecydowałem się przeprowadzić testy w systemie Linux i uzyskałem świetne wyniki. Użyłem systemu Ubuntu Linux 13.10 Live i Iperf dla systemu Linux (wersja 2.0.5-3) na komputerze lokalnym i zdalnym. Oto wyniki.
=======================================================
REALTEK 8111C <-> REALTEK 8111B | IPERF ON UBUNTU LINUX
=======================================================
local: 192.168.100.152
remote: 192.168.100.151
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
192.168.100.152 -> 192.168.100.151 112 MB/s
----------------------------------------------
Max: 112 MB/s Min: 112 MB/s Avg: 112 MB/s
192.168.100.152 <- 192.168.100.151 110 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 110 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
192.168.100.152 <- 192.168.100.151 111 MB/s
----------------------------------------------
Max: 111 MB/s Min: 110 MB/s Avg: 110.8 MB/s
Lokalne (pobieranie, przesyłanie, bezczynność) ...
Jak widać, uzyskuję taką samą przepustowość w obu kierunkach podczas korzystania z Ubuntu. Czy to dlatego, że używam tego samego systemu operacyjnego na obu komputerach, czy jest to coś innego? Czy uzyskałbym taką samą przepustowość, gdybym miał te same wersje systemu Windows na obu komputerach? Nie rozumiem, dlaczego miałoby to mieć znaczenie, jeśli używam nieco przestarzałej wersji systemu Windows, a mianowicie Visty, na jednej maszynie i najnowszej wersji na drugiej? ... Mam na myśli, że Vista jest wciąż aktualnym i obsługiwanym systemem operacyjnym i jest wspierana przez Microsoft . Windows XP to inna historia.
Ale wiem, że robią wszystko, aby zabić Vistę. Na przykład najnowszy pakiet Office 2013 nie jest celowo obsługiwany w systemie Windows Vista. Jestem pewien, że Microsoft żałuje, że Vista nigdy się nie wydarzyła. Tak jak będą żałować, że Windows 8.0 nigdy się nie wydarzył. Ale zazwyczaj jestem tak samo wytrwały jak oni i nie aktualizuję instalacji Windows, dopóki nie muszę.
Pytanie brzmi więc, jak uzyskać taką samą przepustowość w obu kierunkach dzięki dwóm różnym wersjom systemu Windows. Windows Vista powinien być zdolny do gigabitowej prędkości - to nie jest 20-letni system operacyjny czy coś w tym stylu, nie chodzi o Windows 95, o którym mówimy. Vista to nowoczesny system operacyjny. Nie testowałem jeszcze uruchamiania tej samej wersji systemu Windows na obu komputerach. Może istnieć różnica w implementacji TCP lub coś pomiędzy dwiema wersjami systemu operacyjnego. Jeśli tak, to prawdopodobnie będę zmuszony zaktualizować maszynę Vista. Albo to albo przejdź na Linuksa. Nie jestem gotów zapłacić więcej za mniej. Dlaczego muszę aktualizować system Windows, aby uzyskać przepustowość Gigabit w obu kierunkach? ...
Aktualizacja 9 ...
Kabel
Próbowałem odwrócić kabel. Mam takie same wyniki jak poprzednio. Dostałem też nowy kabel krosowy Cat 6 i wypróbowałem go. Wyniki testu przepustowości były takie same. Kabel nie jest tutaj problemem. Użyłem tylko wstępnie zakończonych / uformowanych kabli połączeniowych. Okablowanie powinno być prawidłowe. Ale planuję później zakończyć własne kable instalacyjne.
FW i AV
Jeśli chodzi o zaporę ogniową (FW) i antywirusową (AV), nie używam żadnego oprogramowania FW ani AV innej firmy. Mam tylko Zaporę systemu Windows i Security Essentials. Wyłączyłem je oba na obu komputerach. Wyniki testu przepustowości były takie same jak poprzednio.
Test prędkości LAN
Zainstalowałem LAN Speed Test Lite 1.3 na komputerze lokalnym. Uważam, że test jest przeprowadzany między pamięcią lokalną a dyskiem na zdalnym komputerze. Nie jestem pewny. Ale prosi o ścieżkę udziału na zdalnym komputerze. Użyłem o $ share na pilocie.
Upload: 427 Mbps
Download: 420 Mbps
Nie ufam zbytnio tym wynikom. Jeśli spojrzysz na wykres, zobaczysz, że zmienia się on bardzo podczas testu. Test był testem „sukcesywnym”, tzn. Najpierw testem (wgrywanie), a następnie testem (pobieranie). Oczywiście, jeśli wykonasz test jednoczesnego wysyłania / pobierania, ogólna przepustowość będzie niższa. Ale nie jestem zainteresowany takimi testami. Do tej pory przeprowadzałem tylko „kolejne” testy z obydwoma testami przesyłania plików w systemie Windows (udostępnianie plików / smb) i Iperf.
Nie wykonałem żadnej pamięci do testów pamięci za pomocą LAN Speed Test, ponieważ wymaga on użycia programu o nazwie LST Server na pilocie, a ten program wymaga rejestracji, aby móc z niego korzystać.
Aktualizacja 10 ...
Testy dysków
Użyłem programu Crystal Disk Mark 3.0.3 do przetestowania napędów dysków. Oto wyniki.
Local disk: 118 MB/s read, 113 MB/s write
Remote disk: 70 MB/s read, 69 MB/s write
Są to sekwencyjne prędkości odczytu i zapisu oparte na 5 przebiegach i obciążeniu 1000 MB.
To jest dysk lokalny (oznaczenie dysku, odczyt, zapis) ...
A to jest dysk zdalny ...
Ale nie rozumiem tego ... wyniki wydają się sprzeczne.
Okej, dysk lokalny może odczytać z prędkością 118 MB / s, więc pozwoliłoby to na przesyłanie około 100 MB / s. Ale dysk zdalny nie byłby w stanie go odebrać, gdyby mógł zapisywać tylko 69 MB / s. Ale przez jakiś magiczny zwrot wciąż przesyłam średnio nieco ponad 100 MB / s.
Odwrotne podejście ma większy sens. Jeśli dysk zdalny może czytać z prędkością 70 MB / s, a dysk lokalny może zapisywać z prędkością 113 MB / s, pobieranie nie powinno być szybsze niż 70 MB / s. Pobieram średnio około 40 MB / s. To wydawałoby się rozsądne.
Więc nie mogę wyciągnąć żadnych wniosków z tych wyników. Mam na myśli, że dysk na komputerze lokalnym jest prawie używany. Jest to także dysk zawierający system operacyjny i jest to jedyna partycja w tym systemie. Dysk zdalny jest prawie pełny i jest podzielony na kilka partycji. Jednak nie jest używany w systemie operacyjnym. Wybrałem tutaj literę dysku do O:
testu, ponieważ jest to partycja z największą ilością wolnego miejsca.
(Pamiętaj, że C:
w poprzednich testach użyłem litery dysku , która znajduje się na całkowicie oddzielnym dysku Seagate, który utrzymuje system operacyjny na komputerze zdalnym. Więc te odczyty nie są porównywalne.)
Napisz buforowanie
Po włączeniu buforowania zapisu na dysku otrzymałem te wyniki.
Local to remote: 106 MB/s
Remote to local: 42.2 MB/s
Następnie wyłączyłem buforowanie zapisu na wszystkich dyskach na dysku zdalnym i lokalnym.
Nie uruchomiłem się ponownie, ponieważ nie zażądano ponownego uruchomienia, aby zmiany zaczęły obowiązywać. Następnie otrzymałem następujące wyniki.
Local to remote: 106 MB/s
Remote to local: 42.1 MB/s
Praktycznie nie było żadnej zmiany. Bez ponownego uruchomienia i nie zażądano ponownego uruchomienia.
Pakiet QOS
Następnie przełączyłem się na wyłączenie QOS Packet Scheduler dla odpowiedniego adaptera na komputerze zdalnym, a następnie na komputerze lokalnym.
Local to remote: 107 MB/s
Remote to local: 41.9 MB/s
Tutaj nie ma znaczących zmian. Ponownie nie zażądano ponownego uruchomienia i ponownego uruchomienia.
Duże pakiety
Następnie przeszedłem, aby włączyć duże pakiety. Użyłem ustawienia 4 GB, ponieważ 4 KB to największy rozmiar MTU obsługiwany na obu komputerach.
Local to remote: 105 MB/s
Remote to local: 33.3 MB/s
Tutaj nie miało to wpływu na przesyłanie (lokalne do zdalnego), ale przepustowość pobierania została znacznie zmniejszona. Żądanie ponownego uruchomienia nie było wymagane, ale i tak postanowiłem zrestartować oba komputery, na wszelki wypadek. Następnie ponownie wykonałem te same testy i uzyskałem te wyniki.
Local to remote: 117 MB/s
Remote to local: 33.2 MB/s
Przesyłanie jest teraz jeszcze szybsze, ale pobieranie jest wolniejsze niż przed wprowadzeniem tych zmian, nawet po ponownym uruchomieniu. Spodziewałbym się, że oboje trochę wzrosną. Co to znaczy?
Odpowiedzi:
Na podstawie Twojej odpowiedzi:
Rozmiar okna TCP reprezentuje maksymalną ilość danych, jaką stos TCP wyrzuci na ślepo przed zatrzymaniem i oczekiwaniem na potwierdzenie z komputera zdalnego - innymi słowy, maksymalna ilość niepotwierdzonego ruchu na drucie. Fakt, że okno TCP na komputerze z systemem Vista jest znacznie mniejsze niż na komputerze z systemem Windows Se7en, potwierdza teorię, że nie wypełniasz wystarczająco dużo rury przed przeciągnięciem i czekaniem na ACK.
Dlatego pierwszą rzeczą, którą spróbuję, jest zwiększenie rozmiaru okna TCP na maszynie Vista za pomocą
-w
argumentu. 0,01 MB jest nieco nieprzydatną jednostką; Zgaduję, że to 16 kB. Zacznij więc od 16 kB i uruchom test:Podwój rozmiar okna i powtórz test:
Mam nadzieję, że powinieneś zaobserwować wzrost prędkości. Kontynuuj podwojenie rozmiaru okna, aż nie zauważysz już znacznego wzrostu prędkości.
źródło
Jak już wspomniano, będziesz musiał zmodyfikować rozmiar okna TCP w iperf, aby uzyskać wyższą przepustowość w przypadku łączy o dużej szybkości i niskim opóźnieniu. Różne wersje systemu Windows (lub iPerf) mogą mieć różne domyślne rozmiary okien. Spróbuj „-w 256k” na początek na obu klientem a serwerem.
Czy możesz potwierdzić kierunek strzałek na swoich wykresach? W iPerf dane są wypychane z klienta na serwer (w przeciwieństwie do tego, co zwykle myślę).
Przyczynę można wykluczyć, ponieważ iPerf nie dotyka dysków twardych.
Myślę, że już sprawdziłeś, czy korzystasz z najnowszych sterowników karty sieciowej. Ręczne ustawianie prędkości / dupleksu nie powinno być konieczne. To samo z ramkami jumbo - nie są warte kłopotów z nowoczesnym sprzętem.
Sprawdź, czy w obu kartach sieciowych są włączone duże odciążenie wysyłania (LSO) i duże odciążenie odbioru (LRO). Niektóre sterowniki karty sieciowej używają różnych nazw (lub wielu opcji kontrolujących to zachowanie), więc może być konieczne polowanie. Zwykle domyślnie jest włączone wszystkie.
źródło
Myślę, że musisz przeczytać trochę więcej o tym, jak działa iperf. Jeśli nie ustawisz prawidłowego rozmiaru okna tcp, wyniki będą się bardzo różnić. Wierzę, że jest to przełącznik -w. Ta strona pomoże w obliczeniu optymalnego rozmiaru okna TCP. Musisz znać RTT i przepustowość, aby go obliczyć. http://www.kehlet.cx/docs/tcpwin.php
Wypróbuj również inne narzędzia, takie jak „LAN Speed test” lite, które będą po prostu przesyłać w górę iw dół transfery między udziałami na obu końcach. Jego wyniki są dość bliskie w przeprowadzonych z nim testach. Upewnij się również, czy sprawdzasz, jakie są maksymalne prędkości obrotowe dysków twardych.
źródło
Kilka kwestii, które mogą ci pomóc. Stos TCP IP jest teraz implementowany inaczej w wersjach po Windows 7. Przyjrzałbym się uważnie moim optymalizacjom TCP, może nie być w tym wiele między twoimi dwoma urządzeniami, ale nadal warto dostosować niektóre ustawienia na twoim vista Box.
Zastosowanie netsh int tcp set global congestionprovider = ctcp zostało umorzone . Aby ustawić lub zmienić dostawcę ograniczeń, należy użyć następującego polecenia:
przeczytaj artykuł tutaj: http://forums.speedguide.net/showthread.php?280646-When-will-TCP-Optimizer-support-Windows-8-amp-Windows-Server-2012
netsh int tcp zestaw uzupełniający niestandardowy 300 10 ctcp wyłączony 50 Następnie wpisz: netsh int tcp zestaw uzupełniający niestandardowy
Aby uzyskać więcej informacji na temat powyższego polecenia, po prostu wpisz: netsh int set suplement
Aby sprawdzić, który dostawca ograniczeń aktualnie używasz, użyj następującego polecenia: netsh int tcp show suplement
Ale tylko Win Server 2012 może tworzyć niestandardowe szablony CTCP może być problemem.
Czynnikiem może być również automatyczne skalowanie.
Może warto przyjrzeć się swoim sterownikom, być może potrzebującym aktualizacji / obniżenia wersji. zobacz, które działają najlepiej.
Inną myślą są rozmiary pakietów zapisywane na HDD. Jakimi sektorami są dyski twarde sformatowane na 512b ~ 64K, może to być wąskie gardło w pamięci podręcznej. Warto rozważyć przy używaniu prędkości GBit - lub zamiast tego przetestować na dysku SSD!
Czy zastanawiałeś się nad włączeniem dużych pakietów (jeśli dotyczy to twojej karty sieciowej)
źródło
Brzmi całkiem znajomo ...
iperf
w Windowsie jest niewytłumaczalnie słaba wydajność, ale ten sam sprzęt działa dobrze z Linuksem.Po ciągłej walce w tej bitwie doszedłem do wniosku, że
iperf
w Windows jest niestabilny . Nie wiem, dlaczego ... szczerze mówiąc, przestałem się tym przejmować, ponieważ wiem, że zawsze mogę uzyskać rozsądne wyniki z systemu Linux.Więc jeśli chcesz wiedzieć, dlaczego masz tak niską wydajność, nie szukaj dalej niż aplikacja.
źródło
Należy spróbować zatrzymać usługę MMCSS. Tak, tymczasowo utracisz dźwięk, ale może się zdarzyć, że coś go aktywuje, powodując dławienie aktywności sieciowej, aby aktywność sieciowa nie zagłuszyła innej aktywności.
Zobacz tutaj informacje o MMCSS i ograniczaniu sieci: http://blogs.technet.com/b/markrussinovich/archive/2007/08/27/1833290.aspx
Można go dostosować zgodnie z następującymi instrukcjami: http://support.microsoft.com/kb/948066
Wątpię, aby była to przyczyna w tym przypadku, ponieważ przepustowość prawdopodobnie byłaby niższa, ale po długim uderzeniu głową o ścianę z własnymi problemami z przepływnością w systemie Vista odkryłem, że to była przyczyna. Ustawiłem NetworkThrottlingIndex na 70 i wreszcie uzyskałem oczekiwaną przepustowość.
źródło
Jedną z rzeczy, których nie próbowałeś, jest usunięcie Zdalnej kompresji różnicowej w systemie Vista.
Moje myślenie jest motywowane dużym wykorzystaniem procesora w systemie Vista. Być może sterownik sieciowy Vista nie wie, jak to zrobić na kartę sieciową, podczas gdy Windows 8 robi to znacznie wydajniej.
Aby uzyskać szczegółowe informacje, zobacz artykuł:
Zapobieganie powolnemu kopiowaniu plików przez sieć w systemie Vista poprzez wyłączenie Zdalnej kompresji różnicowej .
Ale w skrócie, po prostu odznacz
Remote Differential Compression
Panel sterowania -> Programy i funkcje -> Włącz i wyłącz funkcje systemu Windows, a następnie uruchom ponownie.źródło
Wcześniej ścigałem ogon dokładnie z tym samym problemem przez chwilę! Wolne prędkości transferu w jednym kierunku, w moim przypadku wychodzące (łącze w górę).
Windows 7 Pro, Celeron J1800 z wbudowaną kartą LAN Realtek Gigabit 8111C. QNAP 453a i MacBook Pro na drugim końcu.
Podczas pomiaru za pomocą Iperf3 uzyskiwałem 112 Mb / s przy moim systemie Windows 7 ustawionym jako klient (zużycie procesora wynosi 25-30%). I tylko 39-41 Mb / s, gdy jest ustawiony jako serwer, z dużym zużyciem procesora między 50-100%. Tak źle, że komputer zawiesza się w czasie testowania przepustowości.
Zwykły transfer plików nie przekracza 45 Mb / s, bez względu na to, czy przesyłałem lub pobierałem pliki na mój serwer NAS lub MAC.
Nie dostawałem nic więcej niż 35-45 megabajtów na sekundę. Dość frustrujące!
Skończyło się na złym sterowniku karty LAN. Miałem obsesję na punkcie aktualizowania sterowników i zawsze aktualizowałem sterowniki, gdy nowy będzie dostępny. Zgadnij co, po kilku aktualizacjach moja karta LAN zwolniła.
Niektórzy z was mogą powiedzieć, wystarczy usunąć stary sterownik i zainstalować nowy. Proste, ah? Próbowałem i próbowałem, To nie działało dla mnie.
Oto moje rozwiązanie:
Zainstalowane okna od zera ze sterownikami OEM ze strony producenta. Wykonałem również następujące czynności:
W obszarze Menedżer urządzeń / karta Lan / Ustawienia zaawansowane / Wyłącz wszystko oprócz KONTROLI PRZEPŁYWU.
W obszarze Funkcje systemu Windows wyłącz zdalną kompresję różnicową.
Teraz średnia prędkość wynosi od 80-100 Mb / s.
Przepraszamy za słabą jakość zdjęć.
źródło
Linus z Linus Tech Tips na Youtube miał ten sam problem i przepraszam, ale zapomniałem, jakie było rozwiązanie. To ostatnie wideo (z 4/20/2016) i mogę się mylić, ale myślę, że skończyło się na tym, że jednym wątkiem na procesorze jest czynnik ograniczający, więc jeśli masz starszy sprzęt i jesteś próbując osiągnąć 1 Gb / s, tak naprawdę jest to procesor, który stanowi problem, jeśli odciąża większość pracy do procesora, co obecnie robi większość wbudowanych kart sieciowych. Mogę się mylić, to jego ostatnie wideo, gorąco zachęcam do sprawdzenia jego strumienia. Z tego powodu warto napotykać ten sam problem na moim gigabitowym połączeniu internetowym.
źródło