Table des matières

iperf : Mesure de débit

Description

iperf permet de faire des test de débit montant et descendant ainsi que des tests de MTU et gigue (jitter).
Il fonctionnement en mode serveur et client.

Sur le principe ça marche bien quand on veut faire des tests ponctuels mais dans mon cas, je veux pouvoir faire des tests toutes les 30 min et pouvoir consulter l’historique sur une page web et c’est ce que je vais essayer de faire ici.

Fonctionnement

Installation

Il est préférable de télécharger la dernière version sur le site http://iperf.fr car celle fourni sur les dépôts debian n’est pas démuni de bug..

test de débit de A vers B

Lancer le serveur sur la machine A via la commande

iperf -s

Puis lancer le client sur la machine B via la commande

iperf -c <ip de la machine A>

Sur A vous devriez voir

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 172.16.43.103 port 5001 connected with 172.16.30.84 port 57114
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.2 sec  5.65 MBytes  4.65 Mbits/sec

et sur B

------------------------------------------------------------
Client connecting to 172.16.43.103, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 172.16.30.84 port 57114 connected with 172.16.43.103 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  5.65 MBytes  4.70 Mbits/sec

Pour faire le test de débit dans l’autre sens, il suffit d’inverser les commandes, de lancer le serveur sur B et le client sur A.

Pour avoir les 2 tests d’un coup, ajoutez l’option -r

Formatage des données

Afin de pouvoir exploiter les données facilement, il existe l’option -y c pour avoir les données au format CSV.

iperf -s -y c
20130207092046,172.16.43.103,5001,172.16.30.84,56221,4,0.0-10.1,6135808,4859141

La contrainte

Vous devrez ouvrir les ports 5001 sur toutes les machines concernées par le test de débit et veiller à ce que le serveur iperf soit bien lancé sur les machines.

Lancer au démarrage iperf

Voici un script à placer dans /etc/init.d

iperf
#!/bin/bash
 
case "$1" in
start)
# on start iperf serveur
echo 'Démarrage de iperf en background'
/usr/bin/iperf -s > /dev/null &
;;
 
stop)
# pour arrêter iperf, on lui envoie un signal KILL
/usr/bin/skill -KILL iperf
;;
 
*)
echo 'Usage: /etc/init.d/iperf {start|stop}'
exit 1
;;
esac
 
exit 0

ensuite on rend le fichier exécutable

chmod +x /etc/init.d/iperf

et on dit au système de le lancer au démarrage

update-rc.d iperf defaults

pour le désactiver du démarrage

update-rc.d iperf remove

à suivre…