1. Overview
iPerf is a widely used network testing tool that can create TCP and UDP data streams and measure the throughput of a network carrying them. It is particularly useful for diagnosing network issues and testing the performance (throughput) of a network.
2. iPerf installation
2.1. Linux
On Linux, iPerf should be available in the native package management system.
2.1.1. Debian
apt install iperf
2.1.2. Redhat
yum install iperf
2.2. Windows
To obtain binaries of iPerf for Windows, we recommend visiting one of the following websites. No installation is needed, once downloaded and unzipped, the user just has to navigate to the extracted folder, open a command prompt and launch iPerf commands.
https://github.com/ar51an/iperf3-win-builds
2.3. OpenWrt
On OpenWrt access points you may install iperf either by opkg package manager:
opkg update
opkg install iperf
or by using their web user interface LuCI by navigating to System > Software and searching "iperf" in "Available" software:
3. iPerf usage
3.1. Features selection
- TCP and UDP Testing: iPerf can test both TCP and UDP protocols (and SCTP since iPerf 3.1)
- Server (RX) and Client (TX) Mode: iPerf operates in a client-server mode, where one device acts as the server and the other acts as the client
- Multiple Connections: Supports multiple simultaneous connections to test the network under load
- Bandwidth Measurement
- Bidirectional testing
- IPv4 & IPv6 support
For detailed documentation, please visit the iPerf 2.0, iPerf 3.0 and iPerf 3.1 documentation.
3.2. Test examples
For test scenarios in the table below, an AP with Linux based OS (OpenWrt), or any Windows/Linux machine with iPerf installed might be used.
To see the details and limitations of our implementation of iPerf, you may use iperf -h.
Test | AP command | ST67W6X CLI command |
---|---|---|
UDP TX | iperf -s -u -t 10 -i 1 -f m | iperf -c <AP_IP> -u -b 50M -t 10 |
UDP RX | iperf -c <DUT_IP> -u -b 50M -t 10 -i 1 -f m | iperf -s -u -t 10 |
TCP TX | iperf -s -t 10 -i 1 -f m | iperf -c <AP_IP> -t 10 |
TCP RX | iperf -c <DUT_IP> -t 10 -i 1 -f m | iperf -s -t 10 |
Legend:
-s server
-c client
-u UDP mode (default TCP)
-t time of the test in seconds
-i reporting intervals in seconds
-f reporting format ('k'=Kbits/sec; 'K' = KBytes/sec; 'm' = Mbits/sec; 'M' = MBytes/sec)
-b bandwidth (desired client bandwidth - UDP only! TCP manages this automatically)
3.3. iPerf on Android smartphone
Testing performance of our devices against smartphones is another possibility. We recommend using iPerf2 for Android application, not available on the Play Store anymore but unofficial version can be found at this link. Otherwise another application, you can find here, propose the same functionalities, under iPerf2 panel, which allows you to use iPerf with all its parameters.
All you have to do is connect the two devices - either set up Wi-Fi hotspot on your smartphone, or setup soft-Access Point (soft-AP) on our device and connect the two. Then you may use iPerf on both of the devices as described in the section 3: