LAN / WiFi Speed Test: Test network speed with iPerf

Diese Seite gibt es auch in Deutsch

To measure the speed in your own network, you can use the free command line tool "iPerf". Two devices are needed for the speed test. One to start the server mode, another to connect to the server in client mode. The output of the actual measured speed between the two devices appears on both the server and the client.

iPerf vs. iPerf3

IPerf is available in two different versions.

iPerf iPerf usually means version 2 of iPerf.
iPerf3 Today mainly the newer version iPerf3 is used. IPerf3 was programmed from scratch and is not backward compatible to iPerf2.

Installation

Debian or Ubuntu installation

On Debian, iperf can be easily downloaded via the package manager:

iPerf2: 

sudo apt install iperf

iPerf3:

sudo apt install iperf3

Windows installation

For Windows, iPerf can be downloaded from the following page: iPerf.fr/iPerf-download.php. After extracting the zip file, the .exe file can be launched from the command prompt.

Android

If you want to measure the net speed from a smartphone, you can use one of the numerous iPerf clients for Android. I briefly tested the app "PingTools Network Utilities" as iPerf3 client.

Speedtest

Server (here Linux)

For a speed test, I start iPerf on my NAS in server mode (parameter: -s).

user@server:$ iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------

Client (here Windows)

The speed test can now be performed from another device with iPerf in client mode (parameter -c). In order for the client to connect to the server, the IP address of the server must also be specified:

C:\Users\LiBe>"C:\temp\iperf-3.1.3-win64\iperf-3.1.3-win64\iperf3.exe" -c 192.168.1.5
Connecting to host 192.168.1.5, port 5201
[  4] local 192.168.1.3 port 53240 connected to 192.168.1.5 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  94.1 MBytes   789 Mbits/sec
[  4]   1.00-2.00   sec  94.9 MBytes   795 Mbits/sec
[  4]   2.00-3.00   sec  95.5 MBytes   802 Mbits/sec
[  4]   3.00-4.00   sec  97.1 MBytes   815 Mbits/sec
[  4]   4.00-5.00   sec  93.1 MBytes   781 Mbits/sec
[  4]   5.00-6.00   sec  94.6 MBytes   793 Mbits/sec
[  4]   6.00-7.00   sec  95.1 MBytes   798 Mbits/sec
[  4]   7.00-8.00   sec  95.6 MBytes   801 Mbits/sec
[  4]   8.00-9.00   sec  94.9 MBytes   796 Mbits/sec
[  4]   9.00-10.00  sec  94.4 MBytes   792 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec   949 MBytes   796 Mbits/sec                  sender
[  4]   0.00-10.00  sec   949 MBytes   796 Mbits/sec                  receiver

Client (Android)

In the "PingTools Network Utilities", an IP address of a computer with started iPerf3 in server mode can simply be specified in the iPerf menu. 

Docker version

As an alternative to the iPerf installations described, a Docker container can also be started with iPerf:

Start Server:

docker run  -it --rm --name=iperf3-server -p 5201:5201 networkstatic/iperf3 -s

Launch client:

docker run  -it --rm --name=iperf3-server -p 5201:5201 networkstatic/iperf3 -c 192.168.1.5

I used a Windows machine with Docker desktop as the client. The Windows 10 machine with WSL2 has significantly worse network performance than the downloaded iPerf3.exe file. On my Debian NAS, I could not see any difference between the Docker version and the iPerf installation. If I find out the reason for the poor performance with Docker Desktop and Windows, I will post an update here, or if anyone knows the answer, please feel free to post in the comments.

Conclusion

With iPerf it is possible to measure the actual speed in the network. Especially in WLAN or with Powerline adapters, the maximum speeds are far from being reached in practice. This is not the case with LAN cabling, where the maximum speed can be achieved at least approximately.

positive Bewertung({{pro_count}})
Rate Post:
{{percentage}} % positive
negative Bewertung({{con_count}})

THANK YOU for your review!

Publication: 2022-09-23 from Bernhard


Top articles in this section


Ping with Port | cmd vs. PowerShell: Test-Netconnection
As is well known, the tool ping can be used to test the access to a certain network device and its response time. Not all devices will respond to a ping, but they may respond to a particular Tcp-Port if a particular network service is provided through it. Windows PowerShell allows you to test a specific port using Windows board tools. The psping tool can also measure the response time to a specific port.

OpenWRT hardware recommendation - available devices 2022
OpenWRT provides a uniform and up-to-date software for different network devices like routers or access points and delivers countless additional setting options, software packages and functions. This makes it possible to combine new and old devices from different manufacturers and, among other things, to use low-cost hardware in a common WiFi, see: Setting up a home network: Extending LAN and WLAN | Improving.

Find IP addresses in the network even if their firewall is enabled
If you want to get a quick overview of all active devices in a network, you can do this with network discovery, commands in the command prompt, in PowerShell or with special IP scanners. The PowerShell commands presented at the beginning of this post give a quick overview of all devices on the local network and may make special programs for scanning the network unnecessary. For expanding your own network, see also: Set up network for home: Expand and improve your LAN / Wi-Fi.

Questions / Comments


By continuing to browse the site, you agree to our use of cookies. More Details