Auteur Sujet: Installation d'iPerf 3.7 sous Ubuntu / Debian  (Lu 8891 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 46 992
    • Twitter LaFibre.info
Installation d'iPerf 3.7 sous Ubuntu / Debian
« le: 28 janvier 2020 à 21:42:27 »
Lignes de commande pour installer iPerf 3.7 sur Ubuntu / Debian

- Ubuntu 64 bits / Debian 64 bits / Mint 64 bits (AMD64) :

sudo apt remove iperf3 libiperf0
sudo apt install libsctp1
wget https://iperf.fr/download/ubuntu/libiperf0_3.7-3_amd64.deb
wget https://iperf.fr/download/ubuntu/iperf3_3.7-3_amd64.deb
sudo dpkg -i libiperf0_3.7-3_amd64.deb iperf3_3.7-3_amd64.deb
rm libiperf0_3.7-3_amd64.deb iperf3_3.7-3_amd64.deb



- Ubuntu 32 bits / Debian 32 bits / Mint 32 bits (i386) :

sudo apt remove iperf3 libiperf0
sudo apt install libsctp1
wget https://iperf.fr/download/ubuntu/libiperf0_3.7-3_i386.deb
wget https://iperf.fr/download/ubuntu/iperf3_3.7-3_i386.deb
sudo dpkg -i libiperf0_3.7-3_i386.deb iperf3_3.7-3_i386.deb
rm libiperf0_3.7-3_i386.deb iperf3_3.7-3_i386.deb

vivien

  • Administrateur
  • *
  • Messages: 46 992
    • Twitter LaFibre.info
Installation d'iPerf 3.7 sous Ubuntu / Debian
« Réponse #1 le: 03 février 2020 à 10:30:18 »
Vous pouvez maintenant choisir l'algorithme d'évitement de congestion TCP.

Attention l'algorithme utilisé coté serveur n'est pas forcément l'algorithme demande.
L'option -V permet de voir l'algorithme utilisé coté client et coté serveur.

Exemple en forçant l'algorithme Illinois, non supporté sur le serveur Bouygues :

$ iperf3 -c bouygues.testdebit.info -p 9200 -V --congestion=illinois
snd_tcp_congestion illinois
rcv_tcp_congestion cubic

$ iperf3 -c bouygues.testdebit.info -p 9200 -R -V --congestion=illinois
snd_tcp_congestion cubic
rcv_tcp_congestion illinois

vivien

  • Administrateur
  • *
  • Messages: 46 992
    • Twitter LaFibre.info
Installation d'iPerf 3.7 sous Ubuntu / Debian
« Réponse #2 le: 03 février 2020 à 14:09:20 »
Il est possible de faire un test avec un algorithme d'évitement de congestion TCP disponible sur le client mais non disponible sur le serveur mais l'inverse est impossible :

Vous obtenez l'erreur suivante :

iperf3: error - unable to set TCP_CONGESTION: Supplied congestion control algorithm not supported on this host

Exemple :
$ iperf3 -c bouygues.testdebit.info -p 9200 -R -V --congestion=bbr
iperf 3.7
Linux k-net 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64
Control connection MSS 1428
Time: Mon, 03 Feb 2020 09:24:06 GMT
Connecting to host bouygues.testdebit.info, port 9200
Reverse mode, remote host bouygues.testdebit.info is sending
      Cookie: zo5c42fim3xl5whxsd55shsji75uiefnvgcx
      TCP MSS: 1428 (default)
iperf3: error - unable to set TCP_CONGESTION: Supplied congestion control algorithm not supported on this host


Solution pour rajouter l'algorithme BBR disponible sur le client :

sudo nano /etc/modules-load.d/tcp_allowed_congestion_control.conf

Copier / coller ces lignes dans le fichier puis sauvegarder :
# TCP congestion control protocol
# cat /proc/sys/net/ipv4/tcp_allowed_congestion_control
tcp_bbr

Après un reboot le test fonctionne :

$ iperf3 -c bouygues.testdebit.info -p 9200 -R -V --congestion=bbr
iperf 3.7
Linux k-net 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64
Control connection MSS 1428
Time: Mon, 03 Feb 2020 13:08:24 GMT
Connecting to host bouygues.testdebit.info, port 9200
Reverse mode, remote host bouygues.testdebit.info is sending
      Cookie: 2xqj6zdiogrc2i6civrr2mt3yow3xyc4jx75
      TCP MSS: 1428 (default)
[  5] local 2a03:4980::f:0:17 port 49342 connected to 2001:860:deff:1000::2 port 9200
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test, tos 0
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   102 MBytes   855 Mbits/sec                 
[  5]   1.00-2.00   sec   109 MBytes   914 Mbits/sec                 
[  5]   2.00-3.00   sec   110 MBytes   927 Mbits/sec                 
[  5]   3.00-4.00   sec   110 MBytes   922 Mbits/sec                 
[  5]   4.00-5.00   sec   110 MBytes   926 Mbits/sec                 
[  5]   5.00-6.00   sec   109 MBytes   914 Mbits/sec                 
[  5]   6.00-7.00   sec   109 MBytes   916 Mbits/sec                 
[  5]   7.00-8.00   sec   111 MBytes   932 Mbits/sec                 
[  5]   8.00-9.00   sec   109 MBytes   914 Mbits/sec                 
[  5]   9.00-10.00  sec   109 MBytes   916 Mbits/sec                 
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  1.07 GBytes   922 Mbits/sec  6938             sender
[  5]   0.00-10.00  sec  1.06 GBytes   913 Mbits/sec                  receiver
snd_tcp_congestion bbr
rcv_tcp_congestion bbr

iperf Done.

vivien

  • Administrateur
  • *
  • Messages: 46 992
    • Twitter LaFibre.info
Installation d'iPerf 3.7 sous Ubuntu / Debian
« Réponse #3 le: 03 février 2020 à 14:21:54 »
Bug coté serveur : après avoir forcé algorithme d'évitement de congestion TCP particulier, celui-ci reste actif sur le port donné.

Pour revenir en fonctionnement nominal, il faut forcer l'algorithme proposé par défaut.


Voici les lignes de commandes passées dans l'ordre et leur effet :

iperf3 -t 3 -c paris.testdebit.info -p 9222 -R -V
snd_tcp_congestion cubic
rcv_tcp_congestion cubic

iperf3 -t 3 -c paris.testdebit.info -p 9222 -R -V --congestion=bbr
snd_tcp_congestion bbr
rcv_tcp_congestion bbr

iperf3 -t 3 -c paris.testdebit.info -p 9222 -R -V
snd_tcp_congestion bbr
rcv_tcp_congestion cubic

iperf3 -t 3 -c paris.testdebit.info -p 9222 -R -V --congestion=cubic
snd_tcp_congestion cubic
rcv_tcp_congestion cubic


Pour limites les impact et les cas où le process iPerf3 se bloque coté serveur, j'ai mis en place un reboot chaque heure sur les serveurs que je gère.

Voici le planning des reboot, qui interrompent également un test en cour à ce moment là :
- 0 heure 59 minutes et 15 sec
- 1 heure 59 minutes et 15 sec
- 2 heure 59 minutes et 15 sec
- 3 heure 59 minutes et 15 sec
- 4 heure 59 minutes et 15 sec
- 5 heure 59 minutes et 15 sec
- 6 heure 59 minutes et 15 sec
- 7 heure 59 minutes et 15 sec
- 8 heure 59 minutes et 15 sec
- 9 heure 59 minutes et 15 sec
- 10 heure 59 minutes et 15 sec
- 11 heure 59 minutes et 15 sec
- 12 heure 59 minutes et 15 sec
- 13 heure 59 minutes et 15 sec
- 14 heure 59 minutes et 15 sec
- 15 heure 59 minutes et 15 sec
- 16 heure 59 minutes et 15 sec
- 17 heure 59 minutes et 15 sec
- 18 heure 59 minutes et 15 sec
- 19 heure 59 minutes et 15 sec
- 20 heure 59 minutes et 15 sec
- 21 heure 59 minutes et 15 sec
- 22 heure 59 minutes et 15 sec
- 23 heure 59 minutes et 15 sec

tanuki

  • Abonné Free fibre
  • *
  • Messages: 271
  • Riedisheim (68)
    • Twitter
Installation d'iPerf 3.7 sous Ubuntu / Debian
« Réponse #4 le: 07 janvier 2021 à 08:51:14 »
Pourquoi installer les fichiers .deb et ne pas utiliser ceux fournis par Ubuntu / Debian ? En tout cas sous Ubuntu 20.10 c'est bien iperf3.7 qui est disponible.

vivien

  • Administrateur
  • *
  • Messages: 46 992
    • Twitter LaFibre.info
Installation d'iPerf 3.7 sous Ubuntu / Debian
« Réponse #5 le: 07 janvier 2021 à 09:22:22 »
Cela ne concerne bien sur que ceux qui ont une veille version d'iPerf.

Aujourd'hui les version d'iPerf sont les suivantes dans les dépôts :
- Ubuntu 16.04 LTS (xenial) : 3.0.11-1
- Ubuntu 18.04 LTS (bionic) : 3.1.3-1
- Ubuntu 20.04 LTS (focal) : 3.7-3
- Ubuntu 20.10 (groovy) : 3.7-3
- Ubuntu 21.04 (hirsute) : 3.9-1

Oui, il faut que je mette la version 3.9 à dispo pour ceux qui ne sont pas sous Ubuntu 21.04