Magazine Internet

Tester le débit de votre liaison réseau en fonction de la taille des paquets

Publié le 03 juin 2010 par Nicolargo

Vous le savez (ou pas) mais la performance de vos applications réseau ne dépends pas seulement du débit et du délais de transit de votre liaison. Un des paramètre à prendre en compte est la taille des paquets générés par vos applications. C'est sur ce postulat que le logiciel Netpipe-TCP a été developpé.

NPtcp (disponible dans le package Netpipe-TCP sous Ubuntu) est un petit utilitaire bien pratique, en ligne de commande, permettant de tester le débit maximal d'une liaison en fonction de la taille des paquets.

Installation de NPtcp

Il faut installer le logiciel sur les deux machines (ou plus) entre lesquelles vous voulez tester votre réseau TCP/IP.

Sous Ubuntu:

sudo aptitude install netpipe-tcp

Utilisation de NPtcp en mode TCP

Sur la machine A ayant comme adresse IP 192.168.0.100 (d'un coté du réseau):

NPtcp

Sur la machine B (de l'autre coté du réseau à tester):

NPtcp -h 192.168.0.100

Il est important de noter que NPTcp va faire un test bi-directionnel (c'est à dire que les flux seront envoyé simultanément de A vers B et de B vers A). Pour tester seulement de A vers B, on peut utiliser l'option -s (à ajouter sur les deux lignes de commande).

Le résultat devrait ressembler à:

Send and receive buffers are 16384 and 87380 bytes
(A bug in Linux doubles the requested buffer sizes)
Now starting the main loop
 0:   1 bytes   648 times -->   0.05 Mbps in   142.98 usec
 1:   2 bytes   699 times -->   0.11 Mbps in   144.26 usec
 2:   3 bytes   693 times -->   0.16 Mbps in   145.62 usec
 3:   4 bytes   457 times -->   0.21 Mbps in   145.54 usec
 4:   6 bytes   515 times -->   0.31 Mbps in   145.94 usec
 5:   8 bytes   342 times -->   0.42 Mbps in   144.11 usec
 6:   12 bytes   433 times -->   0.63 Mbps in   146.39 usec
 7:   13 bytes   284 times -->   0.67 Mbps in   147.55 usec
 8:   16 bytes   312 times -->   0.83 Mbps in   147.73 usec
 9:   19 bytes   380 times -->   0.98 Mbps in   148.04 usec
 10:   21 bytes   426 times -->   1.07 Mbps in   150.25 usec
...

Comment lire les résultats ?
On obtient donc un débit de 0.63 Mbps pour des tailles de paquets TCP de 12 octets, 1 Mbps pour 21 octets...

Et si l'on veut générer un beau graphe

Et oui, les chefs, les tableaux et les résultats en mode texte ils n'aiment pas ça... Donc pour assurer votre prochaine augmentation, nous allons, avec l'aide de gplot, compulser les chiffres générés par NPTcp dans un "beau" graphe...

On commence par ajouter l'option "-o fichier":

Sur la machine B (de l'autre coté du réseau à tester):

NPtcp -h 192.168.0.100 -o nptcp.out

Puis on trace le graphe:

echo "reset; set terminal png; \
set logscale x;
set xlabel 'Taille des paquets (octets)'; \
set ylabel 'Debits (Mbps)'; \
plot 'nptcp.out' using 1:2 with linespoints;" | gnuplot > nptcp.png

Et on a le résultat suivant (sur une liaison LAN):

Tester le débit de votre liaison réseau en fonction de la taille des paquets

Quelques options en bonus...

Pour simuler un flux unidirectionnel de A vers B (streaming):

A# NPtcp -s
B# NPtcp -h 192.168.0.100 -s -o nptcp.out

Pour limiter le test a une taille maximale de paquet de 256 Ko:

NPtcp -h 192.168.0.100 -u 256000 -o nptcp.out

Pour fixer une taille minimale à 16 Ko:

NPtcp -h 192.168.0.100 -u 256000 -l 16000 -o nptcp.out

Conclusion

Un bon outil de plus à ajouter a son couteau suisse des applications open-source pour l'administration et le test de son réseau !


Retour à La Une de Logo Paperblog

A propos de l’auteur


Nicolargo 417 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine