IPerf is an open-source console utility to test network bandwidth. It allows to easily measure maximum network bandwidth between a server and a client, perform a load testing of a communication channel or a router.
IPerf is a cross-platform utility and doesn’t need any installation. You just have to copy it to two computers, between which you want to test your bandwidth.
IPerf works in a server-client mode. On the first computer, iPerf runs in a server mode (i. e., waits for traffic from a client), and another computer, on which iPerf is running as a client, generates TCP and UDP traffic and measures the data transfer rate.
To estimate network bandwidth between two nodes, firstly run iPerf in the server mode:
IPerf.exe -s -w 32768
-s – the utility runs in the server mode (a receiving side)
-w 32768 –TCP window size – 32 kB (about 8 kB, by default)
By default, the utility listens to TCP port 5001. Depending on the firewall settings between the client and the server, you can change the port using the argument -p [port_number].
On the client side, run IPerf using the following options:
IPerf.exe -c 10.10.0.44 -P 8 -t 30 -w 32768
-c 10.10.0.44 is the IPerf server IP address
-w 32768 — enlarges the size of the TCP window
-t 30 is the time in seconds for the test to be done (by default, it is 10 seconds)
-P 8 is the number of alternative streams to increase the bandwidth
In our example, the test lasted 30 seconds. In the final report, we are interested in the values of the Bandwidth column listed in the last [SUM] line. In our case, the average network bandwidth between the two systems is 2.85 Gb/s. Using -f argument, you can change the speed format (bits, kilobits or megabits). In the continuous tests, when you have to estimate the performance during several minutes, you can set the period of time to display the intermediate results using -i.
By default, the utility generates TCP traffic, and if you have to test your bandwidth for UDP traffic, use –u.
During the test, the throughput chart in Task Manager looks like this:
It is important to note that during the test iPerf uses all available bandwidth of the communication channel between the client and the server, which can negatively affect productive applicationand users. So this test should be carried out taking it into consideration.
If you need to estimate the bandwidth in both directions (in a duplex mode), specify –d on the client:
IPerf.exe -c IP -P 8 -t 30 -w 32768 -d
You can display the full list of the utility arguments as follows:
For those, who prefer graphic interface, there is a graphic iPerf counterpart jperf written on Java. (Java has to be installed on a computer to run it.) Apart of the graphic gimmicks of CLI interface, Jperf can make bandwidth charts in real time.
To sum it up, IPerf is and easy-to-use and convenient utility to measure network bandwidth and connection quality between two systems. Despite of the fact that the utility is no longer developed, it copes with its task well.