Dlaczego uzyskuję 950 Mb / s, ale tylko 360 Mb / s w Gigabit Ethernet?

46

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.

za b

Zwróć uwagę na schemat na dwóch poniższych zrzutach ekranu!

do re

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%.

mi fa

Jest to zgodne z wynikami uzyskanymi za pomocą narzędzia Iperf. Oto, jak to wygląda, gdy przesyłam na komputer zdalny.

sol h ja

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”.

jot k

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).

l

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).

m

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.

n o

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.

p q

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).

r

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).

s t

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)

u v w x

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ść) ...

y z aa

Zdalne (pobieranie, przesyłanie, bezczynność) ...

ab ac ogłoszenie

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.

ae

Przeprowadziłem już testy z Iperf dla Windows i oto wyniki.

Lokalne (pobieranie, przesyłanie) ...

af ag

Zdalne (pobieranie, przesyłanie) ...

ah ai

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ść) ...

aj ak glin jestem na

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.

ao ap

aq ar tak jak

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.

w au av

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) ...

aw topór ay

A to jest dysk zdalny ...

az

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.

ba nocleg ze śniadaniem

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.

pne bd

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.

być bf

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?

Sammy
źródło
4
Myślę, że liczby przepływności wyświetlane w menedżerze zadań są skalowane automatycznie na podstawie faktycznej przepustowości. Z pewnością tak jest w przypadku Windows 8, a mój obecnie pokazuje 54 Mb / s, aw ostatnich kilku minutach było to 100 MB i 100 kbs (w stanie bezczynności) oraz różne wartości pomiędzy nimi.
sgmoore,
12
Czy zastanawiałeś się nad uruchomieniem obu komputerów z płyt CD z systemem Linux na żywo (dwa identyczne dyski rozruchowe), aby wykluczyć problemy z oprogramowaniem, i przenieść plik z dysku RAM na dysk RAM, aby wykluczyć problemy z dyskiem twardym?
Moshe Katz,
1
Chciałem tu wrzucić moje 2 centy ... mój pierwszy: czy wyłączyłeś wszystkie skanery wirusów? moja druga: czy próbowałeś odwrócić kabel, aby zobaczyć, czy twój problem również się odwraca (przełączając koniec kabla na inny komputer i odwrotnie). Jeśli otrzymasz szybkie pobieranie, ale powolne przesyłanie, problem tkwi w okablowaniu. (tzn. twoje pary nie są skręcone razem, ale z innymi parami)
Rik
1
@MosheKatz Właśnie to zrobiłem. Po opublikowanych przeze mnie wynikach (patrz aktualizacja 8) widać, że dzięki Ubuntu uzyskałem dużą przepustowość w obu kierunkach.
Samir
2
@Sammy wow, ten temat robi się duży :) Widziałem, jak wypróbowałeś Linuksa na obu końcach. Ale czy próbowałeś już Linux <--> Win8 i / lub Linux <--> Win.vista? Jeśli jeden z nich ma pełną prędkość w obu kierunkach, wiesz, że drugi jest winny (co pokazałby w drugim teście) i ty / my możemy skoncentrować nasze wysiłki na tej maszynie.
Rik

Odpowiedzi:

6

Na podstawie Twojej odpowiedzi:

@ewhac Rozmiar okna TCP na komputerze lokalnym zwykle różni się od rozmiaru okna na komputerze zdalnym. Wartość domyślna to 0,06 MB na komputerze lokalnym (Win 8) i 0,01 MB na komputerze zdalnym (Vista). Czy muszą mieć tę samą wartość? Jak poprosić o odgadnięcie MSS? Czy byłby to przełącznik -m („wydrukuj maksymalny rozmiar segmentu”)? Zazwyczaj tego nie ustawiam. Dlaczego miałbym to robić? - Sammy 30 listopada o 21:39

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ą -wargumentu. 0,01 MB jest nieco nieprzydatną jednostką; Zgaduję, że to 16 kB. Zacznij więc od 16 kB i uruchom test:

iperf -c -w 16K ...

Podwój rozmiar okna i powtórz test:

iperf -c -w 32K ...

Mam nadzieję, że powinieneś zaobserwować wzrost prędkości. Kontynuuj podwojenie rozmiaru okna, aż nie zauważysz już znacznego wzrostu prędkości.

ewhac
źródło
4

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.

Michael
źródło
3

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.

PeterJ
źródło
Czy mogę użyć polecenia ping, aby ustalić RTT? Jeśli pinguję do pilota, otrzymuję mniej niż 1 ms. Ale to nie mówi mi ile. Czy jest jakieś inne narzędzie, którego mogę użyć, jedno z większą precyzją? Wiem, że nie mogę użyć 0 ms w formule.
Samir,
Użyłem programu ping o nazwie hrping . Jeśli chodzi o LAN Speed ​​Test Lite, nie był tak dobry jak Iperf. Może będzie lepiej, gdy będziesz mieć zainstalowany serwer LST na drugim końcu. Ale nie miałem ochoty rejestrować się, aby z niego korzystać ani płacić za licencję.
Samir,
3

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)

majika
źródło
Czy można wyłączyć skalowanie rozmiaru okna i ręcznie ustawić wartość RWIN na 64 KB?
Samir,
Właśnie przeczytałem, że wartość RWIN zmienia się dynamicznie w nowoczesnych systemach Windows. Czy to prawda? Że RWIN nie może być stałą wartością?
Samir,
2

Świetne wyniki dzięki Ubuntu LINUX

Brzmi całkiem znajomo ... iperfw 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 iperfw 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.

Mike Pennington
źródło
2

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ść.

Mark Sowul
źródło
2

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 CompressionPanel sterowania -> Programy i funkcje -> Włącz i wyłącz funkcje systemu Windows, a następnie uruchom ponownie.

wizerunek

harrymc
źródło
0

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ęć.

wprowadź opis zdjęcia tutaj

Gi Cakov
źródło
-2

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.

Prestaeus
źródło
„Zapomniałem, jakie było rozwiązanie” - to nie jest duża odpowiedź, prawda?
DavidPostill
1
Poświęć czas na ustalenie, jakie było rozwiązanie. Ta odpowiedź nie jest pomocna, nadal możesz zostać zbanowany za przesyłanie złych odpowiedzi, nawet jeśli są one oznaczone jako wiki społeczności
Ramhound 21.04.2016