We stand with Ukraine. To make an impact, please consider donating . Click here for more details.
    SIGN IN / UP

    There are many ways to check the network connection speed of a computer or server. One of these methods is a check using the speedtest service. It has a number of advantages such as ease of use and accessibility. But there are also a number of disadvantages. For example, the measurement accuracy is not very high, advertising materials may take some of the traffic, the server may be overloaded, you cannot check the network speed if your computer has a port speed of more than 1 Gbps.

    Therefore, there is another way to perform such a check - using the iperf3 program. This method does not have the disadvantages mentioned above. In addition, with iperf3 you can also check the speed between two computers on your local network without the need for an Internet connection.

    You can download the application for Windows by following the link: https://iperf.fr/iperf-download.php. Many linux distributions can install it from the repositories. Use your distribution's package manager to install.

    You can check using one of the open servers. This may be a server from your provider or from the list at https://iperf.fr/iperf-servers.php. Not all servers have the required bandwidth. That is, the result will be incorrect if you check a 10 Gb/s interface with a server that has a speed of 1 Gb/s. If you have another server with a verified and sufficient bandwidth, you can check using it. On such a server, you need to run the program in server mode:


    iperf3 -s -p <port number>

    Where -p is the port number. By default, if you do not set this parameter, the application runs on port 5201. This port must be opened in the server's firewall for entry.



    To start checking, enter the commands:


    # Direct check (client uploads, server receives)
    iperf3 -c <server domain or IP> -p <port number>
    # Back check (client downloads, server uploads)
    iperf3 -c <server domain or IP> -p <port number> -R

    Here -p is the port number. By default, the program runs on port 5201. The -R switch indicates that this is a reverse check.


    A detailed description of all the features of the program can be seen following the link: https://iperf.fr/iperf-doc.php

    An example of the program execution is shown in the screenshots. The addresses and are the IP addresses of the test servers in the local network. Direct check:



    During the scan, statistical information appears on the client and server parts. The final averages are given at the end. The results are presented in the form of a table, which indicates: the interval, the amount of data transmitted and the data transfer rate for a given period of time. The server displays the following information:



    Reverse request example. The client connects on a non-standard port:



    An example of starting a server on a non-standard port and the result of receiving a reverse request on the server:



    It is recommended to make both direct and reverse requests, since the results for receiving and transmitting data may differ. Thus, you can find, for example, a network interface configuration error, in particular, when half-duplex mode is running or if the provider has configured an unsymmetrical data transfer rate in one direction and the other.


    We reviewed the work with the iperf3 utility, designed to test the speed and quality of a network connection.