You are on page 1of 3

iperf

Overview
iperf is a throughput testing tool which is more reliable than other speed testers.
Here is the software: iperf.exe
To use it, install to a folder of your choice.
Open up a command prompt and cd to the directory where you installed iperf.
You can use: iperf --help to see advanced options.
Here are the basics, feel free to answer fancier things as you use it.
Get a laptop with iperf and each end of the link that you want to test. Using whatever IP scheme
you choose, verify that you can ping each other.
On one side, run the server using the following command (default is TCP):
iperf -s
On the other side you run the client:
iperf -c <IP address of the server>
C:\iperf>iperf -c 84.203.253.110
-----------------------------------------------------------Client connecting to 84.203.253.110, TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[1816] local 127.0.0.1 port 2448 connected with 84.203.253.110 port
5001
[ ID]
Interval
Transfer
Bandwidth
[1816] 0.0-10.0 sec
857 MBytes
718 Mbits/sec

Interval shows you the result for that period, transfer shows you the amount of data transfered.
Bandwidth shows you the throughput rates.

Update and timing options

-i You can specify how often to report back on the throughput during the test
Example C:\iperf>iperf -c 84.203.253.110 -i 5
-----------------------------------------------------------Client connecting to 84.203.253.110, TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[1816] local 127.0.0.1 port 2450 connected with 84.203.253.110 port
5001
[ ID] Interval
Transfer
Bandwidth
[1816] 0.0- 5.0 sec
438 MBytes
735 Mbits/sec
[1816] 5.0-10.0 sec
452 MBytes
759 Mbits/sec
[1816] 0.0-10.0 sec
890 MBytes
746 Mbits/sec

-t The time is seconds to run the test for


Example C:\iperf>iperf -c localhost -t 60 -i 5
-----------------------------------------------------------Client connecting to localhost, TCP port 5001
TCP window size: 8.00 KByte (default)
-----------------------------------------------------------[1816] local 127.0.0.1 port 2452 connected with 127.0.0.1 port 5001
[ ID] Interval
Transfer
Bandwidth
[1816] 0.0- 5.0 sec
430 MBytes
722 Mbits/sec
[1816] 5.0-10.0 sec
452 MBytes
758 Mbits/sec
[1816] 10.0-15.0 sec
450 MBytes
754 Mbits/sec
[1816] 15.0-20.0 sec
451 MBytes
757 Mbits/sec
[1816] 20.0-25.0 sec
450 MBytes
756 Mbits/sec
[1816] 25.0-30.0 sec
451 MBytes
757 Mbits/sec
[1816] 30.0-35.0 sec
451 MBytes
757 Mbits/sec
[1816] 35.0-40.0 sec
452 MBytes
758 Mbits/sec
[1816] 40.0-45.0 sec
449 MBytes
753 Mbits/sec
[1816] 45.0-50.0 sec
421 MBytes
706 Mbits/sec
[1816] 50.0-55.0 sec
451 MBytes
757 Mbits/sec
[1816] 55.0-60.0 sec
450 MBytes
755 Mbits/sec
[1816] 0.0-60.0 sec 5.23 GBytes
749 Mbits/sec

Performance Tuning
You should increase the default window size for TCP; use the -w option, e.g. -w64K.
For UDP, use the -u (Use UDP) and -b (Set UDP bandwidth) options, e.g.
iperf -c 84.203.253.110 -u -i5 -t30 -b18M

This will do a 30-second (-t 30) UDP test (-u) at 18 Mbps (-b18M) of UDP traffic (which means
19+ Mbps of Ethernet traffic!), updating the results every 5 seconds (-i5).

You might also like