The Problem with Traditional Speed Tests
Many people use services like speedtest.net or fast.com to test their network / WiFi performance. However, there’s a fundamental bottleneck: these tests measure your internet speed combined with WiFi speed, not WiFi performance alone.
For example, if you want to accurately measure your WiFi throughput, you need to test within your local network, eliminating the internet connection as a variable.
The Solution: iperf3
The iperf3 tool is the industry standard for testing network performance. It allows you to measure bandwidth between two points on your network without internet dependency.
Setting Up iperf3 Server
Using Proxmox LXC
You can run iperf3 on any device within your network. But as I am running proxmox for my homelab setup, the most efficient approach is to spin up a lightweight Linux LXC container such as Alpine.
Steps:
- Use Proxmox helper scripts to quickly deploy an Alpine LXC
- If you use VLANs, in the network settings, select the VLAN tag of you want to test on
- Note the IP address assigned to the container
Installing and Running iperf3
Update the system and install iperf3. On Alpine it’s done using apk:
apk update && apk upgrade
apk add iperf3
Start the iperf3 server on the default port (5201):
iperf3 -s -p 5201
The server will now listen for incoming connections and display throughput results
Testing from Clients
Linux/macOS/Windows
Install iperf3 on your client device Run a basic test to the server:
iperf3 -c SERVER_IP -p 5201
For reverse mode (test upload speed):
iperf3 -c SERVER_IP -p 5201 -R
For parallel streams (more realistic WiFi testing):
iperf3 -c SERVER_IP -p 5201 -P 4
Mobile Clients
Android:
- iPerf3 (https://play.google.com/store/apps/details?id=tools.uncle.network)
- IPerf3CLient (https://f-droid.org/en/packages/com.example.iperf3client/)
- He.net Network Tools (https://play.google.com/store/apps/details?id=net.he.networktools)
iOS:
- iPerf 3 WiFi Speed Test (https://apps.apple.com/us/app/iperf-3-wifi-speed-test/id1462260546)
- He.net Network Tools (https://apps.apple.com/app/he-net-network-tools/id858241710)
Understanding Results
iperf3will display throughput in Mbits/sec or Gbits/sec, for example:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 283 MBytes 2.38 Gbits/sec
[ 4] 1.00-2.00 sec 283 MBytes 2.37 Gbits/sec
[ 4] 2.00-3.00 sec 283 MBytes 2.37 Gbits/sec
[ 4] 3.00-4.00 sec 283 MBytes 2.37 Gbits/sec
[ 4] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec
[ 4] 5.00-6.00 sec 281 MBytes 2.36 Gbits/sec
[ 4] 6.00-7.00 sec 283 MBytes 2.37 Gbits/sec
[ 4] 7.00-8.00 sec 283 MBytes 2.37 Gbits/sec
[ 4] 8.00-9.00 sec 283 MBytes 2.37 Gbits/sec
[ 4] 9.00-10.00 sec 283 MBytes 2.37 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 2.76 GBytes 2.37 Gbits/sec 0 sender
[ 4] 0.00-10.00 sec 2.76 GBytes 2.37 Gbits/sec receiver
- Compare results across different locations in your home to identify WiFi dead zones
- Expected results for different WiFi standards:
- WiFi 5 (802.11ac): 300-900 Mbps
- WiFi 6 (802.11ax): 600-1200+ Mbps
- WiFi 6E/7: 1000-2400+ Mbps (with compatible hardware)