Checking connection speed with iperf | INTROSERV
EUR
european

EUR

usa

USD

English En
Ex. VAT Ex. VAT 0%

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

Info

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.

Info

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.

Warning

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.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • kingdom
  • germany
  • Español
  • French
  • Hrvatska
  • Italiano
  • Poland
  • Slovenski
  • ukraine
  • Türkçe
  • Русский
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA