Using iPerf Windows Command Line Tool to Measure Bandwidth Between Sites

Modified on Tue, 1 Aug, 2023 at 2:18 PM

For windows, this tool is run through the windows command prompt and can be downloaded here:
iPerf - Download iPerf3 and original iPerf pre-compiled binaries 


iPerf runs as a client server app and it must be available at both sites. Note that the server VM must be at one site and the client must be across the link between sites in order to measure bandwidth. Here are a list of example commands with some brief explanations:

Command set 1 (10 second test)

VM 1 (Server on IP 10.1.1.10)

iperf -s > .10secserver.txt

This command sets the server and outputs anything received to this server to the current working directory to the "10secserver.txt" file. By default, iPerf runs for 10 seconds.


Example results written to "10secserver.txt"

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[852] local 10.1.1.10 port 5001 connected with 10.6.2.5 port 33453
[ ID] Interval Transfer Bandwidth
[852] 0.0-10.6 sec 1.26 MBytes 1.03 Mbits/sec
 

VM 2 (client)

iperf -c 10.1.1.10 > .10secclient.txt

This command reaches out to the server (at the specified address) and outputs anything received to the server to the current working directory to the "10secclient.txt" file.

Example results written to "10secclient.txt"

------------------------------------------------------------
Client connecting to 10.1.1.10, TCP port 5001
TCP window size: 16384 Byte (default)
------------------------------------------------------------
[ 3] local 10.6.2.5 port 33453 connected with 10.1.1.10 port 5001
[ 3] 0.0-10.2 sec 1.26 MBytes 1.05 Mbits/sec



Command set 2 (3 min test)

VM 1 (Server on IP 10.1.1.10)

iperf.exe -s > .3minServer.txt


This command starts iPerf as server and outputs anything received to the current working directory to "3minServer.txt" file.
Note that time is not specified.
 

VM 2 (Client)

iperf.exe -c 10.1.1.10 -t 180 > .3minClient.txt

This command sets the client to reach out to the specified IP address for a test of 3 minutes (180 seconds). -t specifies time in seconds for the test. The results are outputted to the current working directory to file "3minClient.txt"


Note: By specifying a longer time interval, you can measure if the total bandwidth available is constant over a longer period of time compared to the default. For example, if a WAN link is burstable, then the results could be skewed over a shorter period of time.



Command set 3 (3 min 10 parallel tests)


VM 1 (Server on IP 10.1.1.10)

iperf.exe -s > .3minP10Server.txt

This command starts iPerf as server and outputs anything received to the current working directory to the "3minP10Server.txt" file.
 

VM 2 (Client)

iperf.exe -c 10.1.1.10 -P 10 -t 180 > .3minP10Client.txt

This command sets the client to reach out to the specified IP address for a test of 3 minutes (180 seconds). -t specifies time in seconds for the test. -P specifies 10 parallel tests (sockets) to be performed.


Note: By specifying a longer time interval, you can measure if the total bandwidth available is constant over a longer period of time compared to the default. For example, if a WAN link is burstable, then the results could be skewed over a shorter period of time.



Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article