Measure network speeds with Iperf

It happens to all of us, sometimes segments of the network may become unusable or slow. The documentation created by the previous administrator may say Gigabit ethernet is supported or enabled across the network, yet only a fraction of the bandwidth is available. Iperf can measure the throughput of a network, Iperf operates in a client server mode. Best of all it’s open source and cross platform. Iperf is the perfect tool to measure wired and wireless networks, bandwidth is measured through TCP tests.

Iperf installation

For the network test I will install Iperf on two systems, one will act as the server and the other as the client. Iperf is available on the Ubuntu repositories.

sudo apt-get install iperf

Iperf server

Now turn one of the systems in to the Iperf server.

iperf -s

Iperf server output.

Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)

Iperf client

On the Iperf client issue the following command to connect with the Iperf server and initiate the test.

iperf -c

Client side output.

Client connecting to, TCP port 5001
TCP window size: 16.0 KByte (default)

[ 3] local port 59291 connected with port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 113 MBytes 94.5 Mbits/sec

You can see that on this test Iperf successfully transfered 113 MB of data at a network speed of 94.2 Mbits/sec. You can also tell Iperf to wait before giving you the network results, by adding -t 30 at the end of the command. This will tell Iperf to wait and in the mean time transferer more data across the network.



— Dec 26, 2008