Home > General Administration > Tools and Troubleshooting > Troubleshooting Client Speed using iPerf

Troubleshooting Client Speed using iPerf

iPerf is a tool which can be used to test LAN and WLAN speeds and throughput. It works by generating traffic from a computer acting as a client which is sent to the IP address of a computer acting as the server. Bandwidth is then measured by TCP tests which are geared to show an actual representation of the network speeds you are receiving. iPerf can also be used to determine the quality of a link or test latency, jitter and datagram loss. This article explains how to use iPerf and iPerf3 to test LAN and WLAN speeds.  

Note: To run this test you will need two networked computers which have access to each other through your local LAN. Each computer will have to have a copy of iPerf or iPerf3 software installed.

iPerf3

Running iPerf3 tests

After downloading iPerf3:

1. Open a command prompt and navigate to the folder containing the iperf3.exe file.

Example: If the file is on your desktop, then you would use the following in the command prompt:

cd C:\Users\Administrator\Desktop\iperf-3.1.3-win64

2. In the command prompt on the server side, run this command. This will tell it to listen over port 5001 (default port) for the client data:

iperf3 -s 

3. In the command prompt on the client side, run this command:

iperf3 -c 10.0.0.105

As long as the client and server have connectivity on the same network, you should receive a result similar to the following on the server and client side, respectively:

Windows
Client

iperf client windows.PNG

Server

iperf server windows.PNG

Linux
Client

iperf client.PNG

Server

iperf client windows.PNG

There are also several options that can be run on the client side to change the type of data that is being sent. 

To measure bandwidth in both directions, use option r.

  • iperf3 -c 10.0.0.105 -R 

Note: A lowercase ' r ' will NOT work and must be capitalized in iPerf3

To measure bandwidth in both directions at the same time, use option d.

  • iperf3 -c 10.0.0.105 -d

TCP Window Size

Sending large streams of data over fast connections can generate a lot of CPU usage, especially when testing over 1Gbps links. Specifying a larger window size reduces the amount of processing that needs to be done on both the client and server side computers. The window size sets the amount of data that can be passed before it has to be SYN'd. To specify the window size while using iperf3, please use the option w command. The default number is in bytes, but you can also specify K and M for Kilobytes and Megabytes, respectively. 

Client:

iperf3 -c 10.0.0.0.105 -w 2000

-w allows for the option to manually set a window size. This can be set to be between 2 and 65,535.  In the previous example, the window size is set to 2000 Bytes

Server:

iperf3 -s

In the previous example, the window size is set to 4000 Kilobytes

Parallel Streams

iPerf3 also allows for sending parallel streams at the same time.  This sends multiple streams of traffic through the tunnel in order to more fully test the link.

Note: If using 1Gbps links, you want to utilize using window sizing and parallel streams.  Use more parallel streams if trying to completely saturate a high-speed link.

Client:

iperf3 -c 10.0.0.0.105 -P 2

This has iPerf run 2 parallel streams

Server:

iperf3 -s

The server side does not have to include the parallel streams options since it is already listening for any of the traffic.

Original iPerf

Running iPerf tests

After downloading iPerf:

1. Open a command prompt and navigate to the folder containing the iperf.exe file.

Example: If the file is on your desktop, then you would use the following in the command prompt:

cd C:\Users\Administrator\Desktop\iperf-2.0.5-2-win32

2. In the command prompt on the server side, run this command. This will tell it to listen over port 5001 (default port) for the client data:

iperf -s 

3. In the command prompt on the client side, run this command:

iperf -c 10.0.0.105

As long as the client and server have connectivity on the same network, you should receive a result similar to the following on the server and client side, respectively:

Windows
Client

e5eb7197-0566-4974-8b83-f716cb134123

Server

c47cdab4-f93c-4d71-9845-df58d50c7e9d

 

There are also several options that can be run on the client side to change the type of data that is being sent. 

To measure bandwidth in both directions, use option r.

iperf -c 10.0.0.105 -r

To measure bandwidth in both directions at the same time, use option d.

iperf -c 10.0.0.105 -d

TCP Window Size

Sending large streams of data over fast connections can generate a lot of CPU usage, especially when testing over 1Gbps links. Specifying a larger window size reduces the amount of processing that needs to be done on both the client and server side computers. The window size sets the amount of data that can be passed before it has to be SYN'd. To specify the window size while using iperf, please use the option w command. The default number is in bytes, but you can also specify K and M for Kilobytes and Megabytes, respectively. 

Client:

iperf -c 10.0.0.0.105 -w 2000

-w allows for the option to manually set a window size. This can be set to be between 2 and 65,535.  In the previous example, the window size is set to 2000 Bytes

Server:

iperf -s -w 4000K

In the previous example, the window size is set to 4000 Kilobytes

Parallel Streams

iPerf also allows for sending parallel streams at the same time.  This sends multiple streams of traffic through the tunnel in order to more fully test the link.

Note: If using 1Gbps links, you want to utilize using window sizing and parallel streams.  Use more parallel streams if trying to completely saturate a high-speed link.

Client

iperf -c 10.0.0.0.105 -P 2

This has iPerf run 2 parallel streams

Server:

iperf -s

The server side does not have to include the parallel streams options since it is already listening for any of the traffic.

Additional Resources

If you prefer a GUI-based tool similar to iPerf for testing LAN and WLAN speeds, see Troubleshooting client speed and traffic shaping using jPerf.

Last modified

Tags

Classifications

This page has no classifications.

Explore the Product

Click to Learn More

Article ID

ID: 1754

Explore Meraki

You can find out more about Cisco Meraki on our main site, including information on products, contacting sales and finding a vendor.

Explore Meraki

Contact Support

Most questions can be answered by reviewing our documentation, but if you need more help, Cisco Meraki Support is ready to work with you.

Open a Case

Ask the Community

In the Meraki Community, you can keep track of the latest announcements, find answers provided by fellow Meraki users and ask questions of your own.

Visit the Community