Fehlerbehebung bei Netzwerkgeschwindigkeiten - Die uralte Anfrage


18

Ich bin auf der Suche nach Hilfe bei einer sicher uralten Frage. Ich habe mich in der Sehnsucht befunden, den Netzwerkdurchsatz besser zu verstehen, aber ich kann scheinbar keine Informationen finden, die ihn zum "Klicken" bringen.

Wir haben einige geografisch verteilte Server, auf denen verschiedene Windows-Versionen ausgeführt werden. Angenommen, wir verwenden immer einen Host (einen Desktop) als Quelle, und beim Kopieren von Daten von diesem Host auf andere Server im ganzen Land stellen wir eine hohe Geschwindigkeitsabweichung fest. In einigen Fällen können wir Daten mit 12 MB / s konsistent kopieren, in anderen sehen wir 0,8 MB / s. Es sollte beachtet werden, dass wir nach dem Testen von 8 Zielen immer zwischen 0,6 und 0,8 MB / s oder zwischen 11 und 12 MB / s zu sein scheinen. In dem Gebäude, um das es uns in erster Linie geht, haben wir eine OC-3-Verbindung zu unserem ISP.

Ich weiß, dass es eine Menge Variablen gibt, aber ich glaube, ich hatte gehofft, dass die Experten hier helfen könnten, ein paar grundlegende Fragen zu beantworten, um mein Verständnis zu verbessern.

1.) Bei älteren Computern, auf denen Windows XP, Server 2003 usw. mit einer 100-Mbit / s-Ethernet-Karte und einer typischen Latenz von 72 ms ausgeführt wird, ist der Klang von 0,8 MB / s überhaupt vernünftig? Oder denkst du, dass das langsam genug ist, um auf ein Problem hinzuweisen?

2.) Die klassische "mathematisch schnellste Geschwindigkeit" von "Durchsatz = TCP-Fenster / Latenz" wird in unserem Fall mit 0,8 MB / s (64 KB / 72 ms) berechnet. Mein Verständnis ist, dass dies eine Obergrenze ist; dass Sie nie erwarten würden, diese Geschwindigkeit zu erreichen (aufgrund von Overhead) oder gar zu übertreffen. In einigen Fällen sehen wir jedoch Geschwindigkeiten von 12,3 MB / s. Es gibt Steelhead-Beschleuniger, die über das Netzwerk verstreut sind. Könnten diese für eine so höhere Übertragungsrate verantwortlich sein?

3.) Es wurde vorgeschlagen, dass die Verwendung von SMB vs. SMB2 die Geschwindigkeitsunterschiede erklären könnte. In der Tat wird bei der Paketerfassung, wie erwartet, beides in Abhängigkeit von den verwendeten Betriebssystemversionen verwendet. Ich verstehe, was die Verwendung von SMB2 bestimmt, aber ich bin gespannt, welchen Leistungszuwachs Sie mit SMB2 erwarten können.

Mein Problem scheint einfach ein Mangel an Erfahrung und vor allem an Perspektive zu sein, was vernünftige Netzwerkgeschwindigkeiten sind und was nicht. Könnte jemand helfen, Kontext / Perspektive zu vermitteln?


Die Geschwindigkeitsunterschiede betreffen nicht nur SMB und SMB 2. Denken Sie daran, dass der Netzwerkstapel in Vista und höher kein * nix-basiertes Add-On mehr ist und in das Betriebssystem integriert ist, wodurch sich die Latenz und der Overhead erheblich verringern.
Jim B

Danke Jim, das ist gut zu wissen. Ja, ich weiß, dass es eine Milliarde Variablen im Upstream und Downstream gibt, je nachdem, wo Sie im OSI-Stack suchen. Ein Mitarbeiter hat angeboten, dass der Geschwindigkeitsunterschied möglicherweise einfach eine Frage von "SMB vs. SMB2" sein könnte. Ich schätze, ich bin skeptisch gegenüber SMB2 (.1), das uns eine 10-fache Geschwindigkeitssteigerung verleiht, aber ich kenne mich einfach nicht gut aus, um es zu wissen;)
Univ426

Gute Frage! Irgendwelche Updates dazu? Und fwiw, eine Windows XP-Box, die freigegeben, aber nicht "angemeldet" ist, überträgt Dateien schneller als eine mit einem angemeldeten Benutzer.
Chris K

Antworten:


4

Mit der mathematischen Formel, auf die Sie sich beziehen, können Sie die effizientesten Einstellungen für die Übertragungsfenstergröße für TCP ermitteln, nicht die tatsächlich verfügbare Bandbreite. TCP verwendet einen Mechanismus, der als Schiebefenster bezeichnet wird und die Anpassung der Übertragungsgeschwindigkeit an die Netzwerkbedingungen ermöglicht. Die Idee ist, dass ein TCP-Sender immer mehr Daten sendet, ohne dass eine Bestätigung vom Empfänger erforderlich ist. Bei Datenverlust verringert sich die zwischen Bestätigungen gesendete Datenmenge und damit auch die effektive Bandbreite.

Die fragliche Formel bestimmt tatsächlich die ideale Größe dieses TCP-Übertragungsfensters basierend auf der Latenz und der Round-Trip-Latenz zwischen einem gegebenen Paar von Hosts. Die Idee ist, ein Fenster so zu dimensionieren, dass die Datenmenge im Flug dem sogenannten Bandbreitenverzögerungsprodukt entspricht. Wenn Sie beispielsweise 50 Megabit pro Sekunde (6,25 Megabyte) und eine durchschnittliche Roundtrip-Latenz von 100 ms haben, haben Sie 6,25 * 0,1 = 625 Kilobyte Daten. Dies wäre der Wert, den TCP aushandeln würde (wenn er richtig konfiguriert ist). Da die Latenz- und Bandbreitenmerkmale Ihrer Links variieren, ändert sich auch die Fenstergröße.

Was Sie brauchen, ist ein Bandbreiten-Management-Tool wie iperf (kostenlos), das sowohl auf der Quelle als auch auf Ihren verschiedenen Zielen ausgeführt wird. Dies sollte Ihnen eine Vorstellung von der tatsächlichen Menge des möglichen Durchsatzes (unabhängig von anderen Apps) geben und gleichzeitig einen Einblick in die Latenz gewähren. Durch das Ausführen eines erweiterten Pings zwischen Hosts erhalten Sie auch eine allgemeine Vorstellung von den Latenzmerkmalen. Wenn Sie diese Daten haben, haben Sie eine bessere Vorstellung davon, was Sie in Bezug auf den Durchsatz sehen sollten.

Übrigens - Die Verwendung eines LAN-Optimierers umfasst häufig Datenkomprimierung, TCP-Optimierung, Caching usw. Obwohl er praktisch ist, kann er die Art der zugrunde liegenden Links verdecken. Sobald Sie eine Vorstellung von der unformatierten Bandbreite / Verzögerung (und dem potenziellen Paketverlust) haben, können Sie genauer untersuchen, ob Ihre verschiedenen Hosts so eingerichtet sind, dass sie die verfügbare Bandbreite optimal nutzen.


Danke für die tolle Info rnxrx. Die in TCP verwendeten Schiebefenster sind sehr sinnvoll. In unserem Fall, da der einzige Datenverkehr, um den wir uns kümmern, über TCP abgewickelt wird, ist meine Frage vermutlich stark auf TCP ausgerichtet. Wir haben andere Datenübertragungsmethoden (wie Repliweb) verwendet und einen viel höheren Durchsatz (bis zu 11 MB / s) erzielt. Ich war mir des Bandbreitenverzögerungsprodukts nicht bewusst, das ist großartig zu wissen!
Univ426,

2

Versuchen Sie "ping -l 8092" oder FTP oder HTTP, um zu überprüfen, ob es sich um ein SMB-Problem handelt.

Zuallererst: Mit welchen Medien verbinden Sie Computer? Was uns "100mpbs"? Ethernet? Sie können es nicht für "geografisch verteilte" Computer verwenden, oder?

Im Fall von "VPN über Internet" verwenden Router zwischen Ihren Computern möglicherweise unterschiedliche Links: einer ist schnell, der andere nicht. Sie können den Link basierend auf vielen Parametern auswählen.

Bitte beschreiben Sie Ihr Netzwerk.

Das könnte auch ein MTU-Problem sein: Mehrere Links können unterschiedliche MTUs haben.


Vielen llya. Ich habe die Frage aktualisiert, um Ihre zu beantworten. Dies ist ein normales Ethernet-Netzwerk mit einer 100-Mbit / s-Netzwerkkarte im Quellhost.
Univ426

Josh, ich kann immer noch nicht verstehen: ((Verbinden Sie Ihren PC über 100BASE-Ethernet mit dem Server? Auch wenn Sie 100BASE-LX10 (Ethernet über zwei Glasfasern) verwenden, können Sie nicht zwei Computer "im ganzen Land" miteinander verbinden.) Entfernungslimit ca. 10 km. Und im Falle von Ethernet verwenden Sie einen Switch (welcher?) oder schließen Sie Computer direkt an. Und erzählen Sie mir bitte die Latenz: Wie sind Sie auf "72 ms" gekommen? Wie haben Sie sie berechnet? Danke
Ilya

Wir gehen über ein lokales LAN zum öffentlichen Internet, zu einem Rechenzentrum und dann über ein Firmen-Intranet zum Server. Die Latenz wurde mit Ping ermittelt. Wir gehen wie erwartet durch mehrere Schalter. Der nächstgelegene Switch hat eine bestätigte automatisch ausgehandelte Geschwindigkeit von 100 Mbit / s. Hoffentlich hilft das.
Univ426

1
nb - Die Bandbreite, mit der Sie tatsächlich zu tun haben, ist nicht die 100 M Ihrer LAN-Verbindung, sondern die langsamste Verbindung zwischen den Endpunkten. Dies kann Ihre WAN-Verbindung oder eine langsamere Zwischenverbindung sein.
rnxrx

Das ist ein großartiger Punkt, ich werde die Frage aktualisieren, aber ich weiß, dass wir über einen OC-3 mit unserem ISP verbunden sind. Ich muss mir vorstellen, dass alles stromaufwärts mindestens 100 Mbit / s beträgt, und ich weiß, dass die Infrastruktur im Gebäude bis zu dieser Verbindung 100 Mbit / s oder 1 Gbit / s beträgt.
Univ426,

2

Viele Kommentare und Benutzer haben hier großartige Ratschläge gegeben. Einige von ihnen kamen dem, wonach ich suchte, ziemlich nahe, aber ich hatte auch das Glück, einen Network-Veteranen aus unserem Unternehmen zu treffen, der zur Klärung der Dinge beitrug. Ich dachte, ich würde meine Erkenntnisse / Erkenntnisse hier zum Wohle anderer veröffentlichen. Bitte zögern Sie nicht, mich zu korrigieren, wenn eine der folgenden Bedingungen nicht zutrifft:

1.) Der maximale Durchsatz einer einzelnen TCP-Sitzung mit einer Latenz von 72 ms und einem 64-KByte-Fenster liegt bei 0,8 MByte / s. Dies macht diese Geschwindigkeit für einzelne Thread- und Sitzungskopien, wie wir sie mit Robocopy durchgeführt haben, angemessen.

2.) Dieser Geschwindigkeitsunterschied scheint auf die Effektivität der Übertragungsmethode zurückzuführen zu sein. In unserem Fall haben wir Robocopy und Repliweb verwendet. Ich habe festgestellt, dass Robocopy eine einzelne TCP-Sitzung verwendet, während Repliweb mehrere Sitzungen öffnen kann, um Daten zu senden.

3.) Nachforschungen auf der Microsoft-Website haben ergeben, dass SMB2 einen erheblichen Leistungsgewinn gegenüber SMB1 aufweist. In einigen Fällen gab es jedoch Probleme bei der Aushandlung des zu verwendenden Protokolls durch das Betriebssystem. Daher sollte man sich sowohl darüber im Klaren sein, in welchen Fällen SMB2 verwendet werden kann, als auch darüber, ob SMB2 tatsächlich verwendet wird auf Netzwerkaufnahmen.

Derzeit sieht es so aus, als ob Wire-Shark die Verwendung des SMB2-Protokolls bestimmen kann.

Ich hoffe das hilft. Auch hier ist mein Verständnis ziemlich rudimentär, zögern Sie nicht zu erweitern.


1
Beachten Sie neben den Bandbreiten-Verzögerungsberechnungen, dass SMB2 die Leistung über eine Verbindung mit höherer Latenz erheblich verbessert, da es nicht darauf wartet, dass der Server einen Schreibvorgang bestätigt, bevor weitere Daten übertragen werden. Tatsächlich können wir mit SMBv2 einen 10-fachen Durchsatzzuwachs gegenüber unseren WAN-Verbindungen mit ROBOCOPY feststellen. Berücksichtigen Sie auch den / MT-Thread mit Robocopy, wenn Sie viele Dateien kopieren. Standardmäßig werden bis zu 8 gleichzeitig ausgeführt.
Malayter
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.