Checking connection speed with iperf
iperf3 is a free tool that measures the network throughput between two computers. Unlike browser speed tests, it lets you choose both ends of the test: your server and a public iperf3 server, or two of your own servers. iperf3 runs on Linux and Windows and can measure throughput in both directions.
Install iperf3
Linux
On Ubuntu and Debian:
sudo apt update sudo apt install -y iperf3
On AlmaLinux and Rocky Linux:
sudo dnf install -y iperf3
On Ubuntu and Debian, the installer may ask whether to start iperf3 as a daemon. Choose No. For the tests in this guide, you do not need a permanently running iperf3 server.
Windows and Windows Server
The iPerf download page lists third-party Windows builds of iperf3. For example, open the iperf3-win-builds releases on GitHub, and in the latest release download the archive named iperf-<version>-win64.zip, for example iperf-3.22-win64.zip. Extract the archive. Move the files from the extracted folder, including iperf3.exe, to a folder with a short path, for example C:\iperf3.
Open the Command Prompt and go to this folder:
cd C:\iperf3
On Windows, run the commands from this guide with iperf3.exe instead of iperf3.

Test the speed with a public iperf3 server
To test the connection of your server, run iperf3 in client mode against a public iperf3 server. Choose a public server in the region you want to test. Lists of public servers with their addresses and ports are available in the INTROSERV document Network connectivity issue handling rules and on the iPerf website.
By default, iperf3 measures traffic in one direction at a time, so run two tests to measure both directions.
To measure the upload speed, from your computer to the iperf3 server, run:
iperf3 -c <server_address> -p <port> -t 30 -P 10 -i 0
To measure the download speed, from the iperf3 server to your computer, add the -R option:
iperf3 -c <server_address> -p <port> -t 30 -P 10 -R -i 0
Replace <server_address> and <port> with the address and port of the public server. Each test takes 30 seconds.

Public iperf3 servers allow only one test at a time. If you see the message the server is busy running a test, wait a minute and repeat the command or choose another server.
Read the results
At the end of the test, iperf3 shows the summary. Because the test uses several parallel connections, use the lines that start with [SUM]: they show the combined throughput of all connections.
In the upload test, your computer sends the data, so use the speed in the [SUM] sender line. In the download test with -R, the server sends the data and your computer receives it, so use the speed in the [SUM] receiver line. The speed is shown in the Bitrate column, in Mbits/sec or Gbits/sec.
The result shows the throughput between two specific points. It depends on the route and on the load of the public server, so run the test several times and with different servers before drawing conclusions.
Command options
The commands above use these options:
- -c connects to the iperf3 server at the given address;
- -p sets the port of the server;
- -t 30 runs the test for 30 seconds;
- -P 10 uses 10 parallel streams, which can help achieve higher throughput on fast or high-latency connections;
- -i 0 hides the per-second reports and shows only the final result;
- -R reverses the direction, so the server sends data to you.
Save the results to a file
To send the results to support or compare them later, save them to a file:
iperf3 -c <server_address> -p <port> -t 30 -P 10 -i 0 > iperf-upload.txt iperf3 -c <server_address> -p <port> -t 30 -P 10 -R -i 0 > iperf-download.txt
On Windows, use the same commands with iperf3.exe. The files are created in the current folder.
Test the speed between your own servers
To measure the throughput between two of your servers, start iperf3 in server mode on one of them and connect to it from the other.
iperf3 uses port 5201 by default. Open it for TCP in the firewall of the server that will receive the connections. With UFW on Ubuntu and Debian:
sudo ufw allow 5201/tcp
With firewalld on AlmaLinux and Rocky Linux:
sudo firewall-cmd --permanent --add-port=5201/tcp sudo firewall-cmd --reload
The tests in this guide use TCP. If you also plan to run UDP tests, allow UDP port 5201 as well.
Start iperf3 in server mode:
iperf3 -s
The server shows Server listening on 5201 and waits for connections.

On the second server, run the client and specify the IP address of the first server:
iperf3 -c <first_server_ip> -p 5201 -t 30 -P 10 -i 0
For the opposite direction, add -R to the same command. When you finish, stop the iperf3 server with Ctrl+C.
Do not leave iperf3 running in server mode on a public IP address when you do not use it. Anyone who can reach the server on port 5201 can run tests against it and use your bandwidth.
For the full list of options, run iperf3 --help.