You Are an Aerodynamicist: Using IPerf3 to Test Your ISP Package
In Formula 1, aerodynamicists continuously seek ways to refine their vehicle so it travels through the air with the least amount of resistance.
Test results become recommendations to add, remove, or modify something on their car to achieve peak performance within the boundaries of their vehicle’s design and remaining budget that season.
Likewise, you may be paying for a specific package from your Internet Service Provider (or ISP) – X megabits per second amount for downloading, Y for uploading.
But how do you know you actually get what you pay for?
Or how can you know if you need to add, remove, or modify something on your network to improve performance?
Your first thought might be, “That’s why I use Ookla’s Speedtest!” But did you know you can use iPerf3 for this?
Why bother with iPerf3 instead?
- Since it’s a command-line tool, iPerf3 is a pedal-to-the-medal experience; no web browser or OS-specific UI components are slowing it down.
- Public iPerf3 servers are available, and these are typically connected to networks with plenty of bandwidth – 10 Gbps and beyond.
Now that you have some iPerf3 practice under your belt, using a public iPerf3 server is easy:
- Search the Internet for “public iperf3 servers”.
- Pick a server that’s closest to your current physical location.
- Run
iperf3
from your computer against that server.
When I searched for “public iperf3 servers”, I found this – IPERF3 SERVER LIST (https://iperf3serverlist.net)
This website has a SITE
column that lets me filter available public servers by country, region, or US state.
Also, this site provides the actual iperf3
command with all desired options so I can just copy/paste the command into my CLI and I’m on my way.
Finally, I’ll use iPerf3 in Terminal on macOS, but you can use these commands in Windows through Command Prompt as well. In Windows, you can drag iperf3.exe
to the Command Prompt to launch it, then add the options to the end of the command line.
Before we test, here are some details about my local network:
- ISP: Spectrum (coaxial cable)
- Download: 1 Gbps (1000 Megabits per second)
- Upload: 30 Mbps
- My computer is connected to the LAN over Ethernet
OK, let’s try it!
Testing Download Speed
Heading to https://iperf3serverlist.net, I filtered the SITE
based on my location: New York
.
I decided to run my iPerf3 test against the Clouvider server listed under PROVIDER.
So I copy/pasted that command into Terminal, then hit Return:
iperf3 -c nyc.speedtest.clouvider.net -p 5200-5209
Here are the results:
“🤔 That doesn’t look right. Are you sure you have a 1 Gbps download?”
Yes! But this command sent data to the iPerf3 server. In other words, this command tested my upload speed, not my download speed.
I’m paying Spectrum for the ability to upload at speeds up to 30 Megabits per second. Although their upstream service fluctuates quite a bit, these results confirm: upload speeds are as expected from my location.
How can I test my download speed?
Remember iPerf3’s Reverse option: -R
? When you add -R
to your iperf3
command, the listening server now sends data back to the client – that is, the Receiver now becomes the Sender.
Using that same Clouvider server, I’ll press the Up Arrow
in Terminal, add -R
to the end of the iperf3
command, and then hit Return
:
iperf3 -c nyc.speedtest.clouvider.net -p 5200-5209 -R
Ahhh… that’s more like it. 👌🏽
Some Gotchas
Depending on when you perform your iPerf3 test, a public server may respond with:
iperf3: error - the server is busy running a test. try again later
No problem. Listen to iPerf3 and try again later. You can even try again moments later – press the Up Arrow
, then hit Return
.
Also, running iperf3
from a computer that isn’t connected to the network over Ethernet (i.e. a hardwired, cabled connection) won’t produce reliable results. At minimum, iPerf3 will report half the expected bandwidth, particularly when testing download speeds. (That’s not iPerf3, that’s Wi-Fi in action.)
Finally, if iPerf3 doesn’t report what you expect, try testing against a different server in the same time zone or region.
After putting in the effort, you’ll have a solid set of results for your local network support team or ISP so they can investigate.
Aerodynamic performance isn’t magic. It’s math.
Network performance doesn’t have to be mystical either. Use iPerf3 to confirm download and upload speeds from your current location and you’ll ensure the data from your workstation keeps flowing freely with the least amount of resistance possible. 🏎️