Durchsatzraten unter Linux korrekt messen

Symptom

Durchsatzraten unter Linux korrekt messen


Ursache und Lösung

Genaue TCP/UDP Durchsatzmessungen mit IPerf

Um die Durchsatzraten von diversen Leitungstypen korrekt zu messen, nimmt man i.d.R. iperf und unter Windows die Java-Lösung jperf. Damit kann sowohl über TCP, also auch über UDP die verfügbare Bandbreite ermittelt, oder Fehler in Konfiguration und Netzwerk ermittelt werden.

Dazu muss an beiden Endpunkten eine iperf Instanz, jeweils als Client und Server gestartet werden.

TCP Durchsatz (GBit) mit hoher Windowsize

Server: iperf -s -D -w 512k
Client: iperf -i1 -w 512k –c <ServerIP>

Ergebnis sieht dann ca. so aus:


Client connecting to 10.12.11.100, TCP port 5001
TCP window size: 1.00 MByte (WARNING: requested 512 KByte)


[ 3] local 10.12.10.100 port 45087 connected with 10.12.11.100 port 5001

[ID] Interval Transfer Bandwidth
[3] 0.0-1.0 sec 106 MBytes 885 Mbits/sec
[3] 1.0-2.0 sec 107 MBytes 901 Mbits/sec
[3] 2.0-3.0 sec 108 MBytes 902 Mbits/sec
[3] 3.0-4.0 sec 107 MBytes 898 Mbits/sec
[3] 4.0-5.0 sec 108 MBytes 902 Mbits/sec
[3] 5.0-6.0 sec 108 MBytes 904 Mbits/sec
[3] 6.0-7.0 sec 108 MBytes 904 Mbits/sec
[3] 7.0-8.0 sec 108 MBytes 903 Mbits/sec
[3] 8.0-9.0 sec 108 MBytes 904 Mbits/sec
[3] 9.0-10.0 sec 108 MBytes 903 Mbits/sec
[3] 0.0-10.0 sec 1.05 GBytes 900 Mbits/sec


UDP Durchsatz (GBit)

Server: iperf -l 64 -u -s -D
Client: iperf -l 64 -u -i1 -c <ServerIP> -b 1000m

Ergebnis:


Client connecting to 10.12.11.100, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)


[ 3] local 10.12.10.100 port 53428 connected with 10.12.11.100 port 5001

[ID] Interval Transfer Bandwidth
[3] 0.0-1.0 sec 96.9 MBytes 813 Mbits/sec
[3] 1.0-2.0 sec 96.9 MBytes 813 Mbits/sec
[3] 2.0-3.0 sec 96.9 MBytes 813 Mbits/sec
[3] 3.0-4.0 sec 96.9 MBytes 813 Mbits/sec
[3] 4.0-5.0 sec 96.9 MBytes 813 Mbits/sec
[3] 5.0-6.0 sec 96.9 MBytes 813 Mbits/sec
[3] 6.0-7.0 sec 96.9 MBytes 813 Mbits/sec
[3] 7.0-8.0 sec 96.9 MBytes 813 Mbits/sec
[3] 8.0-9.0 sec 96.9 MBytes 813 Mbits/sec
[3] 9.0-10.0 sec 96.9 MBytes 813 Mbits/sec
[3] 0.0-10.0 sec 969 MBytes 813 Mbits/sec
[3] Sent 691024 datagrams
[3] Server Report:
[3] 0.0-10.0 sec 948 MBytes 795 Mbits/sec 0.10 ms 14801/691023 (2.1%)
[3] 0.0-10.0 sec 1 datagrams received out-of-order


Messung von Packetverlusten, bzw. Packets per second (pps) mit UDP

Siehe oben. Interessant ist die Zeile:
[ 3] 0.0-10.0 sec 948 MBytes 795 Mbits/sec 0.108 ms 14801/691023 (2.1%)

Von 691023 gesendeten Paketen gehen 14801 auf dem Weg verloren! Hier können z.B. Probleme in der Sprachqualität bei VoIP ausgemacht werden.

Weitere Informationen

http://www.routerperformance.net/

Links und Quellen

http://iperf.sourceforge.net/

Kontakt

Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.

Tags

Netzwerk, Linux, TCP, UDP, IPerf, JPerf, Durchsatz, Bandbreite, Packetloss