[linux][reseau] NFS limité à 11mo/s en gigabit ethernet

Bonjour la zone,

Depuis le temps que j’en parle, j’ai monté un petit serveur à base de biproc Athlon XP 1800, un petit go de ram, des disques, un contrôleur gigabit ethernet sur port PCI 64bits, de marque Broadcom/IBM.

Le serveur est relié à mon PC classique par un cable ethernet “de base”, fourni par un ISP (télé2 ou club, je sais plus). Le PC classique possède une carte gigabit sur port PCI-e, avec un chip realtek.

Donc, je viens juste de réussir à faire tourner un serveur NFS sur le serveur (serveur et client tournent en mandriva 2008), et de monter une partition nfs à partir du client. Je teste: ca marche. Je “benche” un transfert de divx avec l’outil de copie de base: il m’indique un taux de transfert de 11mo/s fixe, avec une pointe à 80 en tout tout début de transfert. Très en deça de ce que propose le gigabit ethernet…

J’ai fait le test de copie du fichier divX en local sur le client: 50mo/s. Sur le serveur: 35mo/s. Donc, le goulet vient du réseau, pas des disques…

Quelqu’un voit d’où ca peut venir?
De manière générale, comment peut-on bencher une liaison réseau ou un lecteur NFS? (autrement que par l’outil mandriva qui mesure le débit sur une interface, s’entend).

Bonjour,
dans les propriétés de la connexion, tu vois la “vitesse” de la connexion ? Tu as mesuré le taux de transfert dans les 2 sens ? On dirait que t’es en 100 Mbits avec tes 11 Mo/s.

alors oui, c’est réflexif.
J’ai rien trouvé dans les propriétés de connexion. Ptet que si je configurais le réseau sous windows? Mais je sais encore moins faire…

Sinon, j’ai regardé les leds de la carte gigabit du serveur: elles sont à 100, pas à 1000 (elles sont très peu lisibles, à ma décharge).
Pareil côté client!
Je ne sais pas à quoi c’est dû: cable pas assez bon? Driver linux de l’une ou l’autre carte qui ne gère pas le gigabit?

Regarde les inscriptions sur le câble. Il doit être de catégorie 6 pour fonctionner en Gigabit (et non 5). Les câbles certifiés Gigabit sont plus chers que les câbles “classiques”. Ton FAI n’a sûrement pas offert le câble le plus onéreux …

Edit : lien corrigé.

le cat 5 peut faire du 1000 sans probleme

fait donc un petit mii-tool ou ethtool pour voir si tout est bien en 1Gb…

LoneWolf
Je passais par la :slight_smile:

alors ethtool côté client:

Settings for eth4: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: d Current message level: 0x00000033 (51) Link detected: yes

et côté serveur:

Settings for eth2: Supported ports: [ MII ] 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 auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: g Wake-on: d Current message level: 0x000000ff (255) Link detected: yes

Essaie de forcer la négo ethernet à 1Gbit, plutôt que de laisser en autoneg :slight_smile:

Comment qu’on peut faire?

On voit là le noob réseau :confused:

man ifconfig :slight_smile:
De mémoire tu peux spécifier manuellement le media type (1000, full duplex)

D’après le cable, c’est marqué Cat. 5 UTP. Cay d’la mayrde, hein?
Si c’était 5e, ils l’auraient mis (et c’est pas UTP il me semble).

Donc, hop, achat d’un 5e ou d’un 6 si je trouve. Soyons fous!

T’as essayé de faire ce qui est indiqué dans le message #9 ? Tu as trouvé et essayé la commande pour changer de mode ?

Je m’en occupe!
Je regardais les prix des cables cat. 6 pas loin de chez moi, d’autant plus que le wikipedia indiquait que le cat 5 de base était limité à 100mbps.

edit:

j’ai fait:

ethtool -s eth2 speed 1000

et pareil côté client. Résultat, côté serveur, il ne dit rien mais ne change rien. Côté client, il me fait: « ping: sendmsg: Network is unreachable » pendant quelques secondes, avant de rétablir le réseau en 100.

ifconfig eth2 mtu 1000

n’a pas plus d’effet… P’tet que le cable est seul responsable??

[quote=“vectra, post:12, topic: 37955”]Je m’en occupe!
Je regardais les prix des cables cat. 6 pas loin de chez moi, d’autant plus que le wikipedia indiquait que le cat 5 de base était limité à 100mbps.[/quote]
euuuh relis bien. Pour une fois, wikipedia est tres precis sur le sujet, aussi bien en VF qu’en VA…
man ethtool aussi. tu peux regler manuellement le debit ici aussi.

PS: on est bien d’accord que tu passe pas par un switch 100mb et que le cable est croise?

LoneWolf
parce que bon, c’est pas super clair…

[quote=« LoneWolf, post:13, topic: 37955 »]euuuh relis bien. Pour une fois, wikipedia est tres precis sur le sujet, aussi bien en VF qu’en VA…
man ethtool aussi. tu peux regler manuellement le debit ici aussi.

PS: on est bien d’accord que tu passe pas par un switch 100mb et que le cable est croise?

LoneWolf
parce que bon, c’est pas super clair…[/quote]

Oui, c’est un peu à l’arrache, désolé :slight_smile:

La configuration, c’est deux machines avec chacune une carte réseau gigabit non limitée en débit par l’interface.
Le cable, un cable droit de 2m fourni par un ISP pour relier un modem (ou un modem-routeur) à un PC. C’est ptet un croisé, mais je ne sais pas à quoi ca se remarque…
Les machines sont reliées par ce cable, en direct, et sans rien d’autre entre deux.

Le cable à 11mo/s est un Cat 5
Celui à 30mo/s est un 568b cat 5e
Tzim avait dit, sur un autre sujet, que le croisement n’était pas nécessaire. Ca avait été confirmé par un autre zonien…

Sinon, je viens de voler un 5e, et hop, c’est passé immédiatement en 1000. Les leds gigabit sont allumées, ethtool indique 1000, et le taux de transfert a bondi à 30mo/s, ce qui est nettement mieux. Mais potentiellement limité par le réseau quand-même?

Donc, je ne dirais pas que c’est résolu, mais ca semble aller mieux quand-même!
Ceci dit, on est encore loin des 120mo/s théoriques prévus par le gigabit. Je possède un disque qui les tient en lecture (côté client, pour le moment), mais les autres sont très en-deçà. Peut-être que je pourrais créer des ramdisks afin de pousser le réseau à fond?
A terme, il me faudrait un système permettant de tenir 100mo/s en continu, si possible. Pas la peine que je fasse du raid côté serveur si je dois me retrouvé limité par le réseau :confused:

Il existe un logiciel pour Linux qui permet de tester la bande-passante sans avoir de limitation côté disque dur. Impossible de retrouver son nom, si quelqu’un connaît …

Y’a un équivalent windows aussi ?

Moe: neeeed! :slight_smile:
Dreadlock: oui, ca peut tout autant servir. Tant qu’on y est…

iperf ?

Sous linux, une copie entre /dev/random (ou /dev/zero, ou un truc du genre) et /dev/null permet de tester la vitesse de transfert, il faut utiliser la commande dd (je crois) pour avoir des blocs de taille mesurable. Un fort en linux peut-il confirmer (je suis un pro en linux, mais comme je suis pas au boulot là…)

Sinon, le Gigabit ethernet cuivre monte à 800 Mbit seulement ! (cedi dit, je retrouve pas la reférence, cela a peut-être changé) ce qui fait un petit 90Mo/s de données utiles (il faut pas oublier les pertes dues au protocole). Eventuellement en utilisant des jumbo frames, on peut améliorer le rendement.

Au fait, tes cartes, elles sont connectés sur quel port ? PCI ? C’est pas lui qui bride le débit ?

excellent iperf!

on lance iperf -s côté serveur, puis
iperf -c 192.168.1.1 -f M côté client, on attend un peu, et hop!

42.5Mo/s de débit (56 en ouvrant 5 threads)

Ca fait pas énorme quand même… Donc, cable?