When we talk about connection speed, almost everyone immediately thinks of an internet speed test to see if the company is delivering the contracted megabits per second. However, there's a whole world we often overlook: the internal communication between our devices . Whether you want to set up a file server, stream high-quality video from a NAS to the living room, or simply host a LAN party with friends without lag, it's crucial to know how fast your local network actually is.
To get the most out of your infrastructure, whether you have a basic router or professional 10Gbps equipment, you need a tool that doesn't lie. That's where iPerf3 comes in, software capable of stress-testing the link between two devices to tell you exactly how much data can travel over the cable or wirelessly. Unlike common tests, iPerf3 doesn't rely on external servers, so the results are purely a reflection of your hardware and configuration.
What exactly is iPerf3 and why should you use it?
iPerf3 is an open-source tool, licensed under the BSD license, that has been completely rewritten to be unrelated to the old version 2. This is crucial because the new version is optimized for multi-gigabit speeds , far exceeding the 1Gbps limit where the previous version often struggled. It's a cross-platform application that runs seamlessly on Windows, Linux, macOS, Android, and even more specialized systems like FreeBSD and Solaris.
The main advantage of using iPerf3 over tools like Speedtest is that the latter measures the LAN-WAN connection (from your home to the outside), while iPerf3 focuses on the LAN-to-LAN connection . This allows you to isolate problems: if your internet speed test is slow but iPerf3 shows that your local network is lightning fast, the problem is your internet service provider; if iPerf3 gives you poor results, you have a bottleneck in your cabling, switches, or Wi-Fi configuration.
Technical capabilities and supported protocols
This program doesn't just give you a number; it offers in-depth traffic analysis. Using the TCP protocol , it can measure bandwidth, report on the MTU (Maximum Transfer Unit) and MSS (Maximum Segment Size), allowing you to adjust the TCP window to optimize data flow. Furthermore, UDP support is vital for those working with VoIP or streaming, as it allows you to measure jitter (latency fluctuations) and packet loss—data that TCP hides when retransmitting lost information.
Furthermore, iPerf3 allows you to configure parallel data streams, which is essential for maximizing bandwidth on very fast connections. It can also run as a daemon in the operating system, allowing the server to remain active in the background, waiting for a client to initiate a test.
Installation and commissioning
For iPerf3 to work, we absolutely need two machines: one to act as the server and another as the client . The server "listens" on a specific port, and the client sends the burst of data to measure performance.
Installation according to the system
- On Linux (based on Debian/Ubuntu): It's very simple, just open the terminal and run
sudo apt install iperf3. - In Windows: Download the binary from the official website. After extracting the ZIP file, you will find the file
iperf3.exeFor convenience, some users prefer to copy it toC:\\Windows\\System32so that you can run it from any folder in the console. - On macOS and Android: There are specific binaries and app store versions that allow you to perform the same tests.
User guide: Taking your first speed test
Once installed on both computers, the first step is to identify the IP address of the serverIn Windows you can use ipconfig and on Linux ifconfig o ip aLet's assume the server's IP address is 192.168.1.10.
Step 1: Start the server
On the computer that will receive the data, we execute the command: iperf3 -s
This will leave the program on hold, usually using the default port 5201.
Step 2: Run the client
On the other computer, we launched the test targeting the server's IP address: iperf3 -c 192.168.1.10
By default, the program will send data for 10 seconds and show us the transfer rate and bandwidth obtained.
Advanced tricks and parameters to optimize the test
If you stick to just the basic command, you're missing out on half the power of iPerf3. Here are the most useful arguments for conducting a professional analysis:
- Parallel flows (-P): If you notice that you're not reaching the maximum speed of your network card, try this:
-P 5o-P 10This opens multiple simultaneous connections to saturate the link and see the real limit. - Change protocol (-u): To measure stability and jitter, use UDP mode by adding
-uboth on the server and the client. Remember that in UDP you can define the bandwidth with-b(for example,-b 100M). - Reverse the direction of traffic (-R): Normally the client sends and the server receives. If you want to measure the speed of download from the server to the client, adds the parameter
-R. - Output format (-f): You can change how the data is displayed. Use
-f gto view it in Gbps or-f Mfor megabytes per second. - Time intervals (-i): If you want to see how the speed fluctuates second by second instead of just the final summary, use
-i 1.
Performance considerations and limitations
It's not all as simple as blowing on a hot air balloon. We must be aware that iPerf3 consumes CPU and memory resources . If you try to measure a 10Gbps network using a very old computer or a limited device like an old Raspberry Pi, the bottleneck might be the processor and not the network, giving you a false result.
Likewise, caution is advised when running these tests on production networks. iPerf3 can generate such heavy traffic that it could overwhelm the network and cause other applications or users to experience outages or extreme slowness. Finally, remember that the program lacks an official graphical interface; although projects like Jperf exist, the command line remains the most accurate and professional way to control it.
Interesting alternatives
If iPerf3 doesn't fit your needs, there are other options. For those who require more technical and detailed latency analysis, netperf is a great alternative. If you're looking for something extremely lightweight for quick bandwidth tests, nuttcp performs its function very well. For those who prefer to avoid the command line, there are web-based solutions like LibreSpeed or OpenSpeedTest , which can be installed on a local server and allow you to run tests from any browser without installing anything on the client.
Using iPerf3 allows us to diagnose the state of our local network with surgical precision, differentiating between hardware problems, faulty cables, and Wi-Fi interference. Thanks to its ability to handle TCP and UDP protocols and its support for multi-gigabit speeds, it has become the standard for any system administrator or enthusiast who wants to ensure their data flow is stable, fast, and lossless, thus guaranteeing that network performance doesn't hinder productivity or leisure.




