
Ich habe die letzten 4 Stunden mit iperf gespielt und kann nicht verstehen, warum die Ergebnisse auf dem Client und dem Server unterschiedlich sind.
Betrachten Sie die folgende iperf-Ausgabe auf dem Client:
iperf -c 91.121.112.163 -p 2222
------------------------------------------------------------
Client connecting to 91.121.112.163, TCP port 2222
TCP window size: 1.06 MByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.160 port 36726 connected with 91.121.112.163 port 2222
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-11.4 sec 1.88 MBytes 1.38 Mbits/sec
Und hier ist die entsprechende Ausgabe auf dem Server:
iperf -V -s -p 2222
------------------------------------------------------------
Server listening on TCP port 2222
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local ::ffff:91.121.112.163 port 2222 connected with ::ffff:86.209.154.156 port 36726
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-19.1 sec 1.88 MBytes 823 Kbits/sec
Der Client lädt also mit 1,38 Mbit/s hoch, der Server empfängt jedoch mit 823 kbit/s?
Hat jemand eine Erklärung für diese verwirrenden Ergebnisse?
Antwort1
Ich glaube, das Problem besteht darin, dass der Client mit einem Gerät kommuniziert, das den ausgehenden Datenverkehr gepuffert hat, sodass der Client glaubt, es sei fertig, bevor der Server tatsächlich den letzten Datenblock empfangen hat. Ich habe dies bei iperf häufig bemerkt - der sekundengenaue Bericht des Servers ist viel stabiler als der des Clients. Mir ist auch aufgefallen, dass dieErsteZweitens ist im Client immer der höchste Durchsatz zu verzeichnen, was meiner Meinung nach darin besteht, den Puffer des Geräts entlang des Pfads zu füllen, das dies tut. Im Folgenden testen Client und Server eine Verbindung, die bidirektional auf 7 Mbit/s ausgelegt ist ...
------------------------------------------------------------
Client connecting to 204.22.22.104, TCP port 5001
TCP window size: 20.0 KByte (default)
------------------------------------------------------------
[ 3] local 10.125.20.100 port 49248 connected with 204.22.22.104 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 1.12 MBytes 9.44 Mbits/sec
[ 3] 1.0- 2.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 2.0- 3.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 3.0- 4.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 4.0- 5.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 5.0- 6.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 6.0- 7.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 7.0- 8.0 sec 896 KBytes 7.34 Mbits/sec
[ 3] 8.0- 9.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 9.0-10.0 sec 768 KBytes 6.29 Mbits/sec
[ 3] 0.0-10.2 sec 8.38 MBytes 6.91 Mbits/sec
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 204.22.22.104 port 5001 connected with 10.125.20.100 port 49248
[ ID] Interval Transfer Bandwidth
[ 4] 0.0- 1.0 sec 828 KBytes 6.78 Mbits/sec
[ 4] 1.0- 2.0 sec 764 KBytes 6.25 Mbits/sec
[ 4] 2.0- 3.0 sec 857 KBytes 7.02 Mbits/sec
[ 4] 3.0- 4.0 sec 815 KBytes 6.68 Mbits/sec
[ 4] 4.0- 5.0 sec 811 KBytes 6.64 Mbits/sec
[ 4] 5.0- 6.0 sec 814 KBytes 6.66 Mbits/sec
[ 4] 6.0- 7.0 sec 815 KBytes 6.68 Mbits/sec
[ 4] 7.0- 8.0 sec 814 KBytes 6.66 Mbits/sec
[ 4] 8.0- 9.0 sec 812 KBytes 6.65 Mbits/sec
[ 4] 9.0-10.0 sec 806 KBytes 6.60 Mbits/sec
[ 4] 0.0-10.6 sec 8.38 MBytes 6.64 Mbits/sec
Antwort2
Vom Kunden: (Hervorhebung von mir)
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-**11.4** sec 1.88 MBytes 1.38 Mbits/sec
Vom Server:
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-**19.1** sec 1.88 MBytes 823 Kbits/sec
Aus irgendeinem Grund glaubt der Server, dass der Test etwa 8 Sekunden länger dauert als der Client. Das würde ausreichen, um die Gesamtbandbreite (aus Sicht des Servers) auf 823 Kbit/s zu senken.