How to measure Wi-Fi® throughput

back to main page

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://files.budman.pw/

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:

Connectivity luci software 1 arrow.png

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.

Warning white.png Warning
Please note the X-CUBE-ST67W61 supports only iPerf 2.0 and 2.1!

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:

Connectivity iperf android 1.png
Connectivity iperf android 2.png