TCP und UDP Netzwerk Performance mit iperf messen
Das OpenSource Tool iperf erlaubt das Messen der maximalen TCP und UDP Netzwerk Bandbreite. Es ist eine Alternative zu netperf[1].
Inhaltsverzeichnis |
Installation
Iperf ist im Debian und Ubuntu Repository bereits enthalten, d.h. eine Installation ist ganz einfach via apt-get install iperf möglich.
Für RHEL und CentOS ist das Paket im EPEL[2] Repository verfügbar.
Alternativ kann auch der Sourcecode von der IPerf Webseite[3] heruntergeladen werden.
Verwendung
Iperf funktioniert nach dem Client-Server Modell. D.h. man startet zuerst den iperf Daemon auf einem Server und verbindet sich danach mit dem iperf Client. Client und Server sind praktischerweise im selben Binary enthalten. Beachten Sie bei der Angabe der IP Adresse beim Client, dass Sie jene wählen welche zum Netzwerkinterface gehört, welches Sie testen wollen.
TCP Performance messen
In diesem Fall wird die TCP Performance einer 1 GBit Netzwerkkarte gemessen.
Server1:
[root@server1 ~]# iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.255.1 port 5001 connected with 192.168.255.2 port 39838 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1.10 GBytes 941 Mbits/sec
Server2:
[root@server2 ~]# iperf -c 192.168.255.1 ------------------------------------------------------------ Client connecting to 192.168.255.1, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.255.2 port 39838 connected with 192.168.255.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.10 GBytes 944 Mbits/sec
UDP Performance messen
Am gleichen System wird nun noch die UDP Performance gemessen. In diesem Fall muss zusätzlich noch die zu verwendende Bandbreite (-b) angegeben werden, Default ist hier nur 1 MBit pro Sekunde.
Server1:
[root@server1 ~]# iperf -s -u ------------------------------------------------------------ Server listening on UDP port 5001 Receiving 1470 byte datagrams UDP buffer size: 126 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.255.1 port 5001 connected with 192.168.255.2 port 40612 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0-10.0 sec 889 MBytes 746 Mbits/sec 0.065 ms 621/634707 (0.098%) [ 3] 0.0-10.0 sec 1 datagrams received out-of-order
Server2:
[root@server2 ~]# iperf -c 192.168.255.1 -u -b 1000M ------------------------------------------------------------ Client connecting to 192.168.255.1, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 126 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.255.2 port 40612 connected with 192.168.255.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 890 MBytes 746 Mbits/sec [ 3] Sent 634708 datagrams [ 3] Server Report: [ 3] 0.0-10.0 sec 889 MBytes 746 Mbits/sec 0.065 ms 621/634707 (0.098%) [ 3] 0.0-10.0 sec 1 datagrams received out-of-order
Einzelnachweise
- ↑ Netperf (www.netperf.org)
- ↑ IPerf Paket aus EPEL Repository (download.fedora.redhat.com)
- ↑ IPerf (sourceforge.net)
