You Are an Aerodynamicist: Use IPerf3 to Verify Network Performance
Like many, I’ve become engrossed with motorsport recently – specifically, Formula 1.
Have you ever watched a race and wondered: who’s responsible for making the car faster?
While that load is spread among a whole racing team, certain team members are tasked with formally observing how their vehicle moves through the air. Then they may add, remove, or modify things and stuff so they can achieve maximum aerodynamic performance for their car on track.
These people are known as aerodynamicists.
Sound familiar?
If you’re working in post-production, you know it’s all about performance.
One consistent hurdle is network performance.
You might think, “But my Wi-Fi’s fine!” or, “I’m hardwired into the network, so I know I’m good.” But how can you really know?
iPerf3 tells you how fast your data moves between computers so you can add, remove, or modify something to improve network performance.
And just like racing, every little bit counts.
Installation
First, download and install iPerf3 on two computers on your LAN: https://iperf.fr/iperf-download.php
iPerf3 is available for Windows, macOS, and various flavors of Linux.
For this article, I’ll use it in macOS. The easiest way to install iPerf3 for macOS is through Homebrew (https://brew.sh).
After you install Homebrew, here’s how to install iPerf3 on your Mac using Terminal.app
:
brew install iperf3
How to Use iPerf3
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.
- On one computer, launch iPerf3 in server mode.
Copy/paste this command, then press Return
:
iperf3 -s
2. Take note of this computer’s IP address on your local area network (LAN).
In this example, the IP address is 10.0.1.190
.
- On another computer, launch iPerf3 as a client.
Copy/paste this command, then press Return
:
iperf3 -c 10.0.1.190
Once you do, iPerf3 will display this report.
What does it mean?
Each second, iPerf3 on the client computer sent the maximum amount of data possible – 112 MegaBytes – to iPerf3 on the server computer. The bitrate of that transfer was around 940 Megabits per second.
These two computers have 1 Gigabit per second (Gbps) Ethernet connections on a matching 1 Gbps LAN.
This report matches my expectations – the car (the computer) is moving through the air (the network) in the wind tunnel (the iPerf3 test), so it should be just as fast on track (in a production environment). 👍🏽
Now What?
Before I go, here are a couple related items that will come in handy:
Use -R
to Reverse It
You tested network performance from one computer to another, but how about testing it from the other direction?
Is your computer still running iPerf3 in client mode? In Terminal, press the Up Arrow
, then add this option to the end – -R
:
iperf3 -c 10.0.1.190 -R
iPerf3 will report, Reverse mode, remote host 10.0.1.190 is sending
.
Now you don’t have to shut down iPerf3 running in server mode to do a throughput test.
Take Down the Server
When you’re finished using iPerf3 on a computer running it in server mode, there’s no real elegant way to shut it down.
In macOS and Windows, you’ll need to press Control-C
to end the process in that window.
(That might be a lot to drink in, so we’ll stop here for now.)
But what about using iPerf3 with simulated network performance?
How about using it to measure throughput over the Wide Area Network (i.e. out to the public Internet)?
Or what happens if you enable Jumbo Frames?
All in due time, fellow aerodynamicists. We’ll see you then. 🏎️