Skip to main content

Réaliser un Speedtest sur un serveur Linux avec iPerf

Speedtest avec speedtest-cli

La solution la plus simple pour réaliser un test de débit sur linux est d'utiliser speedtest-cli :

pip3 install --upgrade speedtest-cli

Utilisation de l'outil

Lister les server les plus proches, pour réaliser le test de débit

speedtest-cli --list

Réaliser un test basique et récupérer l'image du résultat

speedtest-cli --share
root@srvtest ~ $ speedtest-cli --share                                                                                                                                                                                 master 
Retrieving speedtest.net configuration...
Testing from Hetzner Online GmbH (138.201.68.55)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Cronon GmbH (Berlin) [1.64 km]: 17.256 ms
Testing download speed................................................................................
Download: 694.83 Mbit/s
Testing upload speed......................................................................................................
Upload: 597.40 Mbit/s
Share results: http://www.speedtest.net/result/10827725744.png

image-1611822714743.png

Réaliser un test de débit en spécifiant le serveur à utiliser

Identifiez le server ID sur lequel vous souhaitez pointer avec la commande --list, et lancez le speed-test avec l'option --server :

root@srvtest ~ $ speedtest-cli --server 18720                                                                                                                                                                      1 ↵ master 
Retrieving speedtest.net configuration...
Testing from Hetzner Online GmbH (138.201.68.55)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by SATAN s.r.o. (Trutnov) [279.56 km]: 29.058 ms
Testing download speed................................................................................
Download: 762.45 Mbit/s
Testing upload speed......................................................................................................
Upload: 612.23 Mbit/s

Speedtest avec iPerf3

Installation d'iPerf3

iPerf3 est disponible dans les repos Debian/Ubuntu/CentOS mais peut également être installé via Python PIP. Nous allons récupérer le paquet dans les repos :

apt install iperf3

Utilisation d'iPerf3 pour réaliser un test de débit entre deux hosts

L'outil utilise par défaut le port 5201 en TCP et UDP. Ouvrez donc ce port sur la machine cible :

ufw allow 5201/tcp
ufw allow 5201/udp

Lancez le mode server sur la machine cible :

iperf3 -s

Sur la machine source, lancez votre test de débit en spécifiant la machine cible :

iperf3 -c 192.168.1.10

Vous verrez ainsi passer les échanges sur les deux machines et une moyenne vous sera affichée :

Accepted connection from 192.168.1.11, port 38872
[  5] local 192.168.1.10 port 5201 connected to 192.168.1.11 port 38874
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.00 GBytes  8.62 Gbits/sec                  
[  5]   1.00-2.00   sec   990 MBytes  8.31 Gbits/sec                  
[  5]   2.00-3.00   sec  1012 MBytes  8.49 Gbits/sec                  
[  5]   3.00-4.00   sec  1003 MBytes  8.41 Gbits/sec                  
[  5]   4.00-5.00   sec  1006 MBytes  8.44 Gbits/sec                  
[  5]   5.00-6.00   sec  1.07 GBytes  9.16 Gbits/sec                  
[  5]   6.00-7.00   sec  1001 MBytes  8.39 Gbits/sec                  
[  5]   7.00-8.00   sec   982 MBytes  8.24 Gbits/sec                  
[  5]   8.00-9.00   sec  1.04 GBytes  8.92 Gbits/sec                  
[  5]   9.00-10.00  sec   993 MBytes  8.33 Gbits/sec                  
[  5]  10.00-10.00  sec  1.25 MBytes  7.64 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  9.93 GBytes  8.53 Gbits/sec                  receiver

Réalisation du test iPerf3 avec Docker

Sur la machine hôte, lancez le docker iPerfs comme ceci :

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

Ensuite, sur le client, lancez le test en pointant sur l'IP de la machine hôte :

docker run  -it --rm networkstatic/iperf3 -c 192.168.1.10