# [réseaux] Débit assymétrique sur lien direct 1Gb

## El_Goretto

Bonsoir tout le monde!

Je vais présenter le problème de façon plus originale que d'habitude, puisque le symptôme lui même me fait sourire, je n'avais jamais vu çà  :Smile: 

Alors soit mon serveur et mon PC 2 machine reliées par un cable croisé (cat 6), le tout avec 2 cartes 1Gb aux extrêmités (1 marvel Yukon sur le serveur et en face une Via 8169). Et bien figurez vous que mon PC est incapable d'envoyer des données à plus de 15Mo/s, au lieu des 30-50 Mo habituels (constatés par transferts NFS). Alors qu'il peut recevoir sans souci de débit à la vitesse maximale permise par les disques durs du serveur. Les débits ont été mesurés à l'aide de bmon sur le serveur et le PC.

A vous de jouez, pour proposer des tests et vos conclusions supposés suivant les résultats.

Moi j'ai déjà procédé par élimination, reste plus qu'à trouver le "où précisément et pourquoi".

Je ramasse les copies en fin de 1ere page, et comme ça avait été fait pour un post récent sur la RAM libre d'un PC portable, vous voterez pour désigner "c'est lui le tueur!"  :Smile: 

----------

## guilc

Alors déja, je commencerais par tester le débit pur du réseau, sans faire intervenir les durs :

Sur la machine réceptrice :

```
netcat -l -p PORT > /dev/null
```

Sur l'émettrice :

```
cat /dev/zero | netcat machine-recp PORT
```

Et observer le débit. Si ça passe au max, c'est pas une limitation du réseau !

----------

## nemo13

Bonjour El_Goretto,

1) recherche dans les posts de alpha_x86 , nous y avons , malgrès tout, parlé de perf réseau .

2) quid des histoires de full : half duplex etc ..?

-------> en gros tes deux interfaces arrivent-elles à bien gérer l'autonégociation ?

--> juste pour voir forces-les à la paluche à 10M puis 100M etc

   half-duplex puis full duplex

3) parfois le "vrai" 1G nécessite l'interface en 8fils et pas en 4fils.

4) iperf est un logiciel sympa.

A+

----------

## kwenspc

Y a pas une histoire de jumbo frames aussi pour s'assurer qu'on envoit le max de données à chaque paquet pour optimiser l'envoie? (corrigez moi si je raconte  n'importe quoi, ça serait pas la première fois...)

----------

## nemo13

 *kwenspc wrote:*   

> Y a pas une histoire de jumbo frames aussi pour s'assurer qu'on envoit le mac de données à chaque paquet pour optimiser l'envoie? (corrigez moi si je raconte  n'importe quoi, ça serait pas la première fois...)

 

Toutafé thierry,

même que El_Goretto y veillit mal !

iperf pour El_Goretto

oupsman s'y intéressait aussi

A+

----------

## gbetous

Je propose une manip très sérieusement : tu retournes ton cables ethernet, pour voir si les performances sont inversées   :Mr. Green: 

----------

## El_Goretto

Merci nemo13, ça va très bien pour moi  :Smile:  (je regarde pour Iperf, pour la culture)

Toutes mes optimisations NFS et réseau sont toujours là (jumbo frames powa, mais bridée à 7K pour cause de chipset VIA sur une des cartes), les machines sont les mêmes, les confs n'ont "normalement" pas changé, si ce n'est au niveau noyau.

L'état du réseau pendant mes tests: 1Gb Full Duplex, oeuf corse.

Je précise que je ne me suis rendu compte de ce "bridage" de débit assymétrique que récemment, avant tout roulait.

@ guilc: très élégante solution, je la note  :Smile: 

Résultat: bridage toujours que dans un sens.

PC -> serveur = ~13.5Mo

serveur -> PC = ~88.5Mo

C'est donc la conf réseau, comme ce que j'en avais déduit en passant par FTP au lieu de NFS et en monitorant les accès disques des machienes via gkrellm en simultané.

@gbetous: j'ai même soufflé dans le câble pour déboucher, nada  :Mr. Green:  Ceci étant, comme on est jamais trop prudent, je pars à la pêche de mon "vieux" cable croisé cat 5e.

[edit: non, ce n'est pas le câble non plus]

----------

## widan

 *nemo13 wrote:*   

> 3) parfois le "vrai" 1G nécessite l'interface en 8fils et pas en 4fils.

 

Pas parfois, toujours, le gigabit utilise les 4 paires. Et puis si il y a un "vrai" gigabit, c'est quoi le "faux" gigabit ?

 *El_Goretto wrote:*   

> Toutes mes optimisations NFS et réseau sont toujours là (jumbo frames powa, mais bridée à 7K pour cause de chipset VIA sur une des cartes), les machines sont les mêmes, les confs n'ont "normalement" pas changé, si ce n'est au niveau noyau.

 

Quelle est la charge CPU pendant le transfert (des deux côtés et dans les deux sens) ? Il y a peut-être une machine qui sature (car trop d'interruptions par exemple, si quelque chose a changé dans le driver c'est possible).

----------

## El_Goretto

@widan: +95% idle pour les 2 dans le "bridé" sens PC -> Serveur (intérêt majeur des jumbo frames).

Pour info, dans l'autre sens qui turbine bien, le serveur est à 28% idle, le PC à 88% avé le netcat magique de guilc.

Note: j'ai repris un vieux noyau 2.6.18 qui date de mon changement de carte mère en septembre 2006, même symptôme. Là, je suis sûr à 100% que je n'avais pas ce soucis, donc si ce n'est pas le noyau, m'enfin???

----------

## gbetous

 *El_Goretto wrote:*   

> donc si ce n'est pas le noyau, m'enfin???

 

reste la panne hardware... (controleur ?)

----------

## El_Goretto

J'y ai pensé, mais, sous l'autre OS qui me sert à jouer, qui commence par ouine, et qui finit pas dose, et bien ya aucune problème de débit PC -> serveur (testé par FTP avec filezilla). Sur cet OS le MTU est aussi de 7k.

Donc a priori pas de panne matérielle. 

Ceci étant, j ai une carte en rab', neuve, avé le même chipset VIA, j'ai prévu de l'essayer + tard en remplacement de la VIA du PC, mais logiquement, ça ne devrait rien changer.

----------

## nico_calais

On en a parlé en début de topic mais as tu cherché au niveau de l'auto-negociation ? Il y a un bon outil qi s'appelle ethtool et qui permet de paramétrer une carte réseau. Tu peux forcer la vitesse et le duplex entre autre.

Cela peut améliorer les performances. J'ai déjà vecu ça deux ou trois fois   :Wink: 

----------

## El_Goretto

 *nico_calais wrote:*   

> On en a parlé en début de topic mais as tu cherché au niveau de l'auto-negociation ? Il y a un bon outil qi s'appelle ethtool et qui permet de paramétrer une carte réseau. Tu peux forcer la vitesse et le duplex entre autre.
> 
> Cela peut améliorer les performances. J'ai déjà vecu ça deux ou trois fois  

 

 *El_Goretto wrote:*   

> L'état du réseau pendant mes tests: 1Gb Full Duplex, oeuf corse.

 

C'est bien la première chose que j'ai vérifiée. Certes, environ 1 autoneg sur 20 déconne, mais c'est toujours du on/off (rien ne passe), et encore plus rarement du 100 Mb/s (ce qui se voit sur le serveur et le PC). Ceci étant, je vous rappelle que c'est un pb de débit asymétrique, et que tout va bien dans 1 sens mais pas l'autre, au même instant t.

Note: ceux qui ont une VIA8169 pourront essayer de désactiver l'autoneg via ethtool, ils vont s'amuser un moment... Et si ils y arrivent, qu'ils m'expliquent par quelle astuce.  :Smile: 

----------

## jotake

Bonjour, 

Je me joins à toi, car j'ai des symptômes assez similaires chez moi.

Je m'explique, je dispose de deux machines :

- La première qu'on appellera "serveur". Cette machine, partage essentiellement des fichiers via nfs 

- La seconde qu'on appellera "client", qui est en faite ma machine de travail. 

Mes deux machines sont reliées via des cartes réseaux (enfin, des chipsets) 100 mbit. 

Donc, quand je transfert des fichiers dans le sens : serveur ---> client, les transferts tournent à environs plus ou moins 10 Mo /sec. Ma machine de travail ("client") est utilisable normalement, (elle ne rame pas). Par contre, dans le sens inverse ce n'est pas le cas, les transferts ont l'air d'être plus rapides (plus ou moins 14 Mo/sec) mais ma machine de travail "sacade". Quand je dis saccade, elle rame pas mal, un peu comme si le DMA n'était pas actif... 

J'ai ce souci, depuis environs 2/3 mois. J'ai aussi pensé à un problème kernel, alors j'ai essayé avec des kernels plus anciens (kernel sous lequel je sais que je n'avais aucun souci) et j'ai toujours le même problème.

La seule chose que je vois est de refaire les même test avec samba au lieu de nfs pour pouvoir éliminer la cause "matériel". 

ps: quelqu'un connait un outil sur windows permettant de mesurer la vitesse de transfert lors d'une copie entre un partage samba et windows ? car les fichiers de mon partage nfs sont aussi partagés via samba pour le pc de ma chère et tendre

----------

## El_Goretto

@jotake: des outils windows, non, mais bmon sur le serveur, yabon. Note: sur les noyaux récents (2.6.19?), ya une "nouvelle" section DMA Engine, avec TCP copy offload machin chose dedans. Fais-y un tour à l'occasion

Sinon, du nouveau, je suis allé faire un tour dans le BIOS et j'ai réactivé "PCI Delay Transaction", et mis le PCI Latency à 64 (au lieu de 32). Ya du mieux, je suis monté de +14Mo/s à +28 Mo/s.

Je vais voir si je peux affiner quelque chose côté BIOS, et aussi côté noyau, car il parait que l'irq load balancing est parfois très moyen pour de l'ethernet gigabit.

Si vous avez d'autres idées d'ici là...  :Smile: 

----------

## El_Goretto

Bwwaaahhhh!!!!

Ca veut pas, mais vraiment pas faire mieux qu'un misérable 27Mo/s sous linux.   :Mad: 

Et pendant ce temps, ouinouin xp parade avec ses +45 Mo/s (FTP), grrrr...

----------

