When we talk about internet connection speed, almost everyone immediately thinks of an internet speed test to see if the company is delivering the contracted megabytes. However, there's a whole world we tend to ignore: internal communication between our devicesWhether you want to set up a file server, stream high-quality content from a NAS to the living room, or simply host a LAN party with friends without lag, it's essential to know how fast your local network really 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 the link between two teams to tell us exactly how much information can travel through the cable or air. 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 rewritten from scratch to have no relation to the old version 2. This is key because the new version It is optimized for multi-gigabit speedsIt far exceeds the 1Gbps limit where the previous version often had problems. It's a cross-platform application that runs seamlessly on Windows, Linux, macOS, Android, and even more specialized systems like FreeBSD and Solaris.
The great advantage of using iPerf3 over tools like Speedtest is that the latter measures the LAN-WAN connection (from your home outwards), while iPerf3 focuses on the segment LAN-LANThis allows you to isolate problems: if the internet test is slow but iPerf3 shows that your local network is blazing fast, the problem is your provider; if iPerf3 gives you poor results, you have a bottleneck in your cabling, switches, or WiFi setup.
Technical capabilities and supported protocols
This program doesn't just tell you a number; it offers an in-depth traffic analysis. Using the protocol TCPIt can measure bandwidth, report on the MTU (Maximum Transfer Unit) and MSS (Maximum Segment Size), allowing us to adjust the TCP window to optimize data flow. Furthermore, support for UDP It is vital for those who work with VoIP or streaming, as it allows them to measure the jitter (the fluctuation of the delay) and packet loss, data that TCP hides when retransmitting the lost information.
Furthermore, iPerf3 allows you to configure parallel data flows, which is essential for maximize bandwidth on very fast connections. It is also capable of functioning as a daemon in the operating system, allowing the server to always be 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 that acts as server and another like customers. El servidor se queda \»escuchando\» en un puerto específico, y el cliente envía la ráfaga de datos para medir el rendimiento.
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 about blowing and working magic. We must be aware that iPerf3 consumes CPU and memory resourcesIf 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 falsified result.
Likewise, caution is advised when running these tests on production networks. iPerf3 can generate such heavy traffic that it could flood the network and cause other applications or users to experience crashes or extreme slowness. Finally, remember that the program lacks an official graphical interface; although projects like Jperf exist, the command line remains the most precise and professional way to control it.
Interesting alternatives
If iPerf3 doesn't fit your needs, there are other options. For those who require something more technical and detailed regarding latency, netperf It's a great alternative. If you're looking for something extremely lightweight for quick bandwidth testing, nuttcp It performs its function very well. For those who prefer to avoid the console, there are web-based solutions such as LibreSpeed u OpenSpeedTestwhich can be installed on a local server and allow testing from any browser without installing anything on the clients.
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.




