ferrari_california

Le vendeur vous avait promis un modèle performant et vous êtes déçu ?




Tout d'abord, il convient de noter que le protocole que vous utilisez (SSH, NFS, iscsi ou encore Samba) va influer de manière très importante sur les performances mesurées lors des tranferts.
Dans le même ordre d'idée, la copie de quelques gros éléments obtiendra souvent une vitesse supérieure au déplacement d'une quantité identique de méga-octets composée d'une multitude de petits fichiers.

S'il est assez courant de mettre au "plafond" un réseau 100 mb/s avec des taux de transfert de 12/13 Mo/s, avec un gigabit c'est beaucoup plus variable (de 40 à 80 Mo/s voire plus).
Cela va également dépendre des cartes en présence, des switchs, sans oublier l'influence des câbles à qualité médiocre et le vieillissement de tout ce petit monde...



Vérifier le mode "enclenché" sur votre carte réseau


  • Le petit outil "ethtool", est disponible sur les dépôts officiels (Base) :
# yum install ethtool


  • Il donne quelques informations sur les paramètres et les modes (vitesse) possibles de votre carte réseau (dans l'exemple eth0, adaptez avec la vôtre). Le point qui nous intéresse ici est la ligne "Speed" (12eme ci-après. L'option Duplex juste en dessous peut également soulever une piste si elle n'indique pas "full") :
# ethtool eth0
Settings for eth0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Half 1000baseT/Full 
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 1
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off
	Supports Wake-on: g
	Wake-on: g
	Current message level: 0x000000ff (255)
	Link detected: yes



  • Si votre carte "gigabit" n'affiche pas une vitesse de 1000 Mb/s, c'est qu'il y a un souci quelque part. Ce peut être un câble ancienne génération (catégorie inférieure à 5E par exemple), un switch limité en 100 mb/s (souvent, les leds des switchs giga sont oranges pour du 100 et vertes pour du 1000), etc ...




Effectuer un test réseau entre deux Linux avec iperf


Si "ethtool" a bien confirmé le fait que vos cartes étaient reconnues en gigabit (1000 Mb/s), il est possible d'effectuer un test propre entre deux machines avec "iperf". Ce dernier peut-être installé sur quasi toutes les Linux, et donc sur nos CentOS. Pour celles-ci, il est dispo sur les dépôts "rpmforge" (si besoin la page dédiée aux dépôts sur mgroup.fr).

  • Installation de iperf sur au moins deux machines :
# yum install iperf


  • Sur le poste A, on lance iperf en mode serveur :
# iperf -s


  • Sur le poste B, on lance iperf en tant que client en indiquant l'ip du poste A :
# iperf -c 192.168.0.10


  • Après quelques secondes, le système vous donne la mesure effectuée entre les deux postes A et B (ici donc 821 Mbits/sec) :
Client connecting to 192.168.0.10, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.9 port 46200 connected with192.168.0.10  port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec    979 MBytes    821 Mbits/sec



Note Importante : Si problème de liaison avec iperf, commencez par désactiver temporairement le parefeu sur les deux machines.

Note 2 : Effectuer plusieurs tests avec plusieurs machines différentes sur le réseau permettra d'identifier les liens les moins performants et donc souvent mettre le doigt sur la cause possible (carte, switch, câble, etc..).


Hors série - iperf avec une machine Windows


Iperf existe également sous Windows. vous le trouverez sur le site officiel. Les options "-s" (machine serveur) et "-c" machine cliente sont identiques aux versions Linux.

  • Téléchargez la dernière version, dézippez là puis renommez le dossier obtenu "iperf 2.0.x.x.." en "iperf" (tout court).
  • Copiez ce dossier "iperf" à la racine "C:\" de votre Windows
  • A lancer depuis une invite de commande (démarrer/exécuter puis cmd) :
>c:\iperf\iperf -c ip_de_l autre_machine





Vous pouvez commenter ou participer à l'amélioration de cet article via le topic dédié du forum.