User Tools

Site Tools


informatique:logiciels:iperf

iperf

Iperf est un outil de calcul de bande passante en ligne de commande, disponible sous Windows et Linux (entre autres).

On doit l'installer aux 2 bouts du lien à tester, souvent sur 2 machines donc ; l'une va jouer le rôle de serveur et l'autre de client. Le serveur ne se termine qu'en recevant un signal (ctrl + c) ; le client se lance, exécute le test, puis se termine tout seul. Les flux sont par défaut dans le sens client → serveur.

On lance le serveur (IP=10.0.0.1) :

iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------

On lance le test coté client pour une simulation de 30 secondes, avec un intervalle verbeux (affichage du débit) de 3 secondes :

iperf -c 10.0.0.1 -t 30 -i 3
------------------------------------------------------------
Client connecting to 10.0.0.1, TCP port 5001
TCP window size: 49.4 KByte (default)
------------------------------------------------------------
[  3] local 10.0.0.2 port 4668 connected with 10.0.0.1 port 5001
[  3]  0.0- 3.0 sec    657 MBytes  1.84 Gbits/sec
[  3]  3.0- 6.0 sec    694 MBytes  1.94 Gbits/sec
[  3]  6.0- 9.0 sec    692 MBytes  1.94 Gbits/sec
[  3]  9.0-12.0 sec    672 MBytes  1.88 Gbits/sec
[  3] 12.0-15.0 sec    672 MBytes  1.88 Gbits/sec
[  3] 15.0-18.0 sec    692 MBytes  1.94 Gbits/sec
[  3] 18.0-21.0 sec    673 MBytes  1.88 Gbits/sec
[  3] 21.0-24.0 sec    673 MBytes  1.88 Gbits/sec
[  3] 24.0-27.0 sec    695 MBytes  1.94 Gbits/sec
[  3]  0.0-30.0 sec  6.66 GBytes  1.91 Gbits/sec

(bon là, c'est un peu triché puisque les résultats proviennent d'un test local, sur la loopback :] )

Il existe diverses options consultables dans le man, notamment :

  • -p <port> : port sur lequel se connecter (client) ou écouter (serveur)
  • -d dual test permet de faire des tests bidirectionnels simultanément
  • -r similaire à -d mais teste les 2 sens l'un après l'autre (non simultanément)
  • -u utilise des datagrammes UDP au lieu de paquets TCP
  • -P <nb> permet de lancer plusieurs (nb) transferts en parallèle
  • -B <address> bind permet de binder une interface ou une adresse multicast (implique d'utiliser l'option -u)
  • -w <taille> défini la taille de la fenêtre TCP (la taille réelle est multipliée par 2)
  • -M <taille> défini la taille du MSS (Maximum Segment Size = MTU - 40 bytes)
  • -m permet d'afficher la MTU à la fin du transfert
  • -f <format> spécifie le format des mesures ; peut être k, m, K et M pour des Kbits, Mbits, KBytes et MBytes

Liens

informatique/logiciels/iperf.txt · Last modified: 2015/09/09 09:32 by pteu