Ich versuche dies so einfach wie möglich zu erklären, aber dokumentiert. Dies gilt nicht ausschließlich für diesen Server oder meinen aktuellen ISP . Ich habe im Laufe der Jahre genau das gleiche Problem gesehen, als ich mit verschiedenen ISPs zusammen war und meine Server bei verschiedenen Anbietern hatte (GoDaddy in den USA, iWeb und GloboTech in Kanada). Das einzige, was bisher üblich war, ist das Windows Server-Betriebssystem (2003 und 2008 r2). Aber schauen wir uns jetzt nur meinen aktuellen Server und meinen aktuellen ISP an.
Das Problem :
Ich erhalte sehr langsame Übertragungsraten zwischen meiner lokalen Workstation und meinem dedizierten Remote-Server. Mein Server befindet sich an einem 100-Mbit / s-Port und meine lokale Workstation an einer symmetrischen 50-Mbit / s-Verbindung über Glasfaser.
Symptome :
Sowohl der Server als auch die Workstation erzielen hervorragende Ergebnisse (sehr nahe an ihrer Verbindungsgeschwindigkeit), wenn Tests auf speedtest.net mit verschiedenen Servern und Standorten in den USA und Mexiko durchgeführt werden. Wenn ich große Dateien von beispielsweise Dropbox auf meinen Server oder meine Workstation herunterlade, erhalte ich Übertragungsraten von 10 MBit / s bzw. 5 MBit / s über eine einzelne Verbindung, was für jede Verbindungsgeschwindigkeit von 100 Mbit / s und 50 Mbit / s korrekt ist jeweils.
Wenn ich jedoch eine Datei von meinem Server (über HTTP oder FTP) auf meine Workstation übertrage, komme ich nicht einmal an die Geschwindigkeit von 50 Mbit / s heran, die ich erreichen sollte (5 MBit / s Übertragungsrate), sondern erhalte stattdessen etwas, das 3 Mbit / s entspricht (300 KBit / s Übertragungsrate).
Ich versuche zu verstehen, warum ich eine so langsame Übertragungsrate bekomme. Ich bin mir nicht sicher, wie ich es debuggen soll. Immer wenn ich ein Ticket für das Problem mit den Hosting-Anbietern erhebe, fragen sie mich nach Tracert-Ausgaben und geben schließlich einem Server in der Mitte die Schuld. Aber das scheint nicht richtig zu sein, wenn wir berücksichtigen, was ich zuerst gesagt habe : Ich habe genau diese Geschwindigkeit / dieses Problem gesehen, als ich meine Server mit GoDaddy, iWeb und GloboTech hatte und ich selbst mit verschiedenen ISPs zusammen war verschiedene Arten von Internetdiensten . Es sieht wirklich wie eine feste Einstellung irgendwo im Serverbereich aus.
Tests, die ich durchgeführt habe :
GESCHWINDIGKEITSTEST
Dies sind Geschwindigkeitstests von speedtest.net, die auf meinem dedizierten Server für verschiedene Remote-Server ausgeführt wurden, einschließlich eines Servers im Rechenzentrum meines ISP in Mexiko-Stadt:
Kanada : 94,64 Mbit / s zum Herunterladen und 94,87 zum Hochladen http://www.speedtest.net/my-result/3470801975
San Jose, CA : 93,58 Mbit / s zum Herunterladen und 95,48 Mbit / s zum Hochladen http://www.speedtest.net/my-result/3470805341
Mexiko-Stadt (Server im Datencanter meines eigenen ISP) : 92,99 Mbit / s zum Herunterladen und 95,39 Mbit / s zum Hochladen http://www.speedtest.net/my-result/3470810269
Wenn ich diese Tests von meiner lokalen Workstation aus auf denselben Servern ausführe, erhalte ich auch Geschwindigkeiten nahe meiner 50-Mbit / s-Verbindung.
TRACERT
Dies ist eine kürzlich von meiner Workstation auf meinem dedizierten Server ausgeführte Tracert-Ausgabe:
1 <1 ms <1 ms <1 ms 192.168.7.254
2 2 ms 1 ms 1 ms 10.69.32.1
3 * 3 ms 2 ms 10.5.50.174
4 3 ms 2 ms 2 ms 10.5.50.173
5 * 5 ms 3 ms fixed-203-69-2.iusacell.net [189.203.69.2]
6 32 ms 32 ms 32 ms 8-1-33.ear1.Dallas1.Level3.net [4.71.220.89]
7 33 ms 33 ms 33 ms ae-3-80.edge5.Dallas3.Level3.net [4.69.145.145]
8 33 ms 33 ms 33 ms ae13.dal33.ip4.tinet.net [77.67.71.221]
9 76 ms 76 ms 157 ms xe-1-0-0.mtl10.ip4.tinet.net [89.149.185.41]
10 72 ms 72 ms 72 ms te2-2.cr2.mtl3.gtcomm.net [67.215.0.160]
11 72 ms 72 ms 72 ms ae2.csr2.mtl3.gtcomm.net [67.215.0.134]
12 72 ms 72 ms 73 ms te3-4.dist1.mtl8.gtcomm.net [67.215.0.83]
13 72 ms 72 ms 72 ms ns1.marveldns.com [173.209.57.82]
IPERF
Dies ist ein iperf-Test, der mit meinem dedizierten Server als Server und meiner Workstation als Client ausgeführt wird:
------------------------------------------------------------
Client connecting to ns1.marveldns.com, TCP port 5001
TCP window size: 64.0 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.7.2 port 60339 connected with 173.209.57.82 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.3 sec 5.62 MBytes 4.59 Mbits/sec
PATHPING
Dies ist die Ausgabe eines Pathping-Empfehlens, das von meiner Workstation auf meinem dedizierten Server ausgeführt wird:
Tracing route to ns1.marveldns.com [173.209.57.82]
over a maximum of 30 hops:
0 ws1 [192.168.7.2]
1 192.168.7.254
2 10.69.32.1
3 * 10.5.50.174
4 10.5.50.173
5 fixed-203-69-2.iusacell.net [189.203.69.2]
6 8-1-33.ear1.Dallas1.Level3.net [4.71.220.89]
7 ae-3-80.edge5.Dallas3.Level3.net [4.69.145.145]
8 ae13.dal33.ip4.tinet.net [77.67.71.221]
9 xe-1-0-0.mtl10.ip4.tinet.net [89.149.185.41]
10 te2-2.cr2.mtl3.gtcomm.net [67.215.0.160]
11 ae2.csr2.mtl3.gtcomm.net [67.215.0.134]
12 te3-4.dist1.mtl8.gtcomm.net [67.215.0.83]
13 ns1.marveldns.com [173.209.57.82]
Computing statistics for 325 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 ws1 [192.168.7.2]
0/ 100 = 0% |
1 0ms 0/ 100 = 0% 0/ 100 = 0% 192.168.7.254
0/ 100 = 0% |
2 1ms 0/ 100 = 0% 0/ 100 = 0% 10.69.32.1
0/ 100 = 0% |
3 3ms 0/ 100 = 0% 0/ 100 = 0% 10.5.50.174
0/ 100 = 0% |
4 2ms 0/ 100 = 0% 0/ 100 = 0% 10.5.50.173
0/ 100 = 0% |
5 4ms 20/ 100 = 20% 20/ 100 = 20% fixed-203-69-2.iusacell.net [189.203.69.2]
0/ 100 = 0% |
6 34ms 0/ 100 = 0% 0/ 100 = 0% 8-1-33.ear1.Dallas1.Level3.net [4.71.220.89]
0/ 100 = 0% |
7 34ms 0/ 100 = 0% 0/ 100 = 0% ae-3-80.edge5.Dallas3.Level3.net [4.69.145.145]
0/ 100 = 0% |
8 33ms 0/ 100 = 0% 0/ 100 = 0% ae13.dal33.ip4.tinet.net [77.67.71.221]
0/ 100 = 0% |
9 79ms 0/ 100 = 0% 0/ 100 = 0% xe-1-0-0.mtl10.ip4.tinet.net [89.149.185.41]
2/ 100 = 2% |
10 73ms 14/ 100 = 14% 12/ 100 = 12% te2-2.cr2.mtl3.gtcomm.net [67.215.0.160]
0/ 100 = 0% |
11 72ms 2/ 100 = 2% 0/ 100 = 0% ae2.csr2.mtl3.gtcomm.net [67.215.0.134]
2/ 100 = 2% |
12 72ms 18/ 100 = 18% 14/ 100 = 14% te3-4.dist1.mtl8.gtcomm.net [67.215.0.83]
0/ 100 = 0% |
13 72ms 4/ 100 = 4% 0/ 100 = 0% ns1.marveldns.com [173.209.57.82]
Trace complete.
Dinge, die Sie selbst ausprobieren können
Wenn Sie es versuchen möchten, sind dies einige Dinge, die ich zu Testzwecken auf dem Server eingerichtet habe:
Große Datei auf dem HTTP-Server
Ich habe eine 5-GB-Datei auf meinem Server abgelegt, die über HTTP heruntergeladen werden kann. Sie finden es hier: http://www.marveldns.com/transfer_test/
Speedtest MINI App
Ich habe auf meinem Server einen "Speedtest Mini" -Test eingerichtet. Sie können es besuchen und sehen, welche Geschwindigkeit Sie sowohl zum Herunterladen als auch zum Hochladen auf meinem Server und für sich selbst erhalten. Sie finden es hier: http://www.marveldns.com/speedtest/
Endlich :
Wie ich bereits sagte, versuche ich, Hilfe zu bekommen, um das Ganze zu verstehen. Ich bin kein Experte für TCP / IP oder Top-End-Netzwerke. Ich habe ehrlich gesagt nicht einmal klar, wie ich die Ergebnisse von Tracert, Iperf oder Pingpath verwenden soll, um das Problem lösen zu können, aber ich schließe sie ein, weil ich immer danach gefragt werde, wenn ich über dieses Problem spreche.
Wenn meiner Frage etwas fehlt, um besser zu sein, stimmen Sie es bitte nicht einfach ab und lassen Sie mich wissen, was daran falsch ist oder was ich noch hinzufügen kann, um Hilfe zu erhalten. Danke.
quelle
Antworten:
Der Engpass, den ich beim Zugriff auf diese URL sehe, ist eindeutig auf die Fenstergröße zurückzuführen.
Wenn ich versuche, von Ihrem Server herunterzuladen, erhalte ich 555 KB / s. Ich habe eine Hin- und Rückfahrt von 108 ms. Wenn ich rechne, erhalte ich die folgende Fenstergröße: 555 KB / s * 108 ms = 59,94 KB.
Solange ich es von einem Host in einem Rechenzentrum aus mache, erhalte ich einen sehr konsistenten Durchsatz und Roundtrip. Wenn ich zwei Downloads gleichzeitig starte, erhalten Sie jeweils 555 KB / s. Das sind genau die Symptome, die Sie sehen werden, wenn der Engpass die Fenstergröße ist.
Ohne Fensterskalierung darf das Fenster nicht größer als 64 KB sein. Ich sehe jedoch, dass die Fensterskalierung ausgehandelt wird, sodass ein höherer Durchsatz möglich sein sollte. Dies lässt zwei Hypothesen zu untersuchen:
Der erste ist leicht zu überprüfen, ob Sie eine Paketerfassung auf dem Server durchführen können. Schauen Sie sich einfach die Skalierungsoption für eingehende SYN-Pakete an, um herauszufinden, ob der Server einen höheren Skalierungsfaktor als eins empfängt. Ich kann die Verwendung von Wireshark zur Analyse des Datenverkehrs empfehlen.
Das Überprüfen der zweiten Hypothese erfordert einige Kenntnisse des von Ihnen verwendeten Betriebssystems. Sie haben zufällig ein mir unbekanntes Betriebssystem gewählt, bei dem ich nicht helfen kann. Ich kann also nur mit Fachwissen im Networking helfen.
quelle