Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Switch] débits différents selon la taille des données

5 réponses
Avatar
David LE BOURGEOIS
Bonjour à tous.

Mon réseau domestique est composé de quatre machines reliées entre
elles par un switch NetGear FS105. Elles sont toutes sous Linux et
j'utilise NFS pour transférer des données, et les cartes réseaux sont
toutes bien configurées :

david@dragon ~ $ dmesg | grep eth
eth0: Setting 100mbps full-duplex based on auto-negotiated partner
ability 45e1.

Le problème vient du débit qui varie ENORMEMENT selon la taille des
données à transférer.
S'il s'agit d'un ensemble de fichiers dépassant le Mo en taille, le
transfert s'effectue de manière régulière et assez rapide.
Par contre, dans le cas d'un ensemble de plus de dix petits fichiers
(inférieur à 100Ko), le switch attend au moins trois secondes avant de
déclencher le transfert, et cela pour CHAQUE petit fichier.
En fin de compte, pour transférer un fichier de 100Mo, je vais mettre
entre trente secondes et une minute. Alors que pour 20 fichiers faisant
au total 10Mo, le transfert durera cinq minutes !

De plus, ce phénomène est indépendant de la machine. J'ai effectué tous
les sens de transferts entre chaque machine. J'ai aussi essayé en
n'utilisant que deux ports du switch à la fois.

Est-ce que cela peut venir des câbles ?
Ca me paraîtrait bizarre, puisqu'avant j'avais un vieux hub 10Mb/s et
ça marchait très bien pour le transfert des petits fichiers, mais
c'était plus long pour les autres, normal. Et puis si c'était vraiment
ça, le transfert de gros fichiers ne marcherait pas non plus, n'est-ce pas ?

En résumé, pour les gros fichiers mon nouveau switch 100Mb/s fonctionne
à merveille, mais pour les petits fichiers, il est cent fois plus lent
que mon vieux hub 10Mb/s.

Savez-vous d'où ça peut venir ?

Merci pour vos réponses.

--
David LE BOURGEOIS

Il y a des femmes qui plus elles vieillissent et plus elles deviennent
tendres. Il y a aussi les faisans.
-+- Paul-Jean Toulet (1867-1920) -+-

5 réponses

Avatar
Annie D.
David LE BOURGEOIS wrote:

Le problème vient du débit qui varie ENORMEMENT selon la taille des
données à transférer.
S'il s'agit d'un ensemble de fichiers dépassant le Mo en taille, le
transfert s'effectue de manière régulière et assez rapide.
Par contre, dans le cas d'un ensemble de plus de dix petits fichiers
(inférieur à 100Ko), le switch attend au moins trois secondes avant de
déclencher le transfert, et cela pour CHAQUE petit fichier.
En fin de compte, pour transférer un fichier de 100Mo, je vais mettre
entre trente secondes et une minute. Alors que pour 20 fichiers faisant
au total 10Mo, le transfert durera cinq minutes !
Savez-vous d'où ça peut venir ?


Des disques durs. Temps d'accès, fragmentation, toussa.
Vous cherchez au mauvais endroit.

Avatar
Jacques Caron
Salut,

On Thu, 12 Aug 2004 21:20:37 +0200, David LE BOURGEOIS
wrote:

Par contre, dans le cas d'un ensemble de plus de dix petits fichiers
(inférieur à 100Ko), le switch attend au moins trois secondes avant de
déclencher le transfert, et cela pour CHAQUE petit fichier.


Je ne pense vraiment pas que ce soit le switch qui attende quoi que ce
soit. Ce serait plutôt au niveau de l'OS, non? Quelques traces avec
tcpdump ou Ethereal devraient indiquer ce qui se passe, mais je penche
pour un truc quelconque mal configuré qui "timeoute"...

Est-ce que cela peut venir des câbles ?


Un coup d'oeil aux stats d'erreur sur les interfaces avec netstat -i (et
sur le switch, s'il est manageable) devrait indiquer s'il y a un problème
de ce côté.

En résumé, pour les gros fichiers mon nouveau switch 100Mb/s fonctionne
à merveille, mais pour les petits fichiers, il est cent fois plus lent
que mon vieux hub 10Mb/s.


Il n'y a vraiment *que* ça qui ait changé?

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
David LE BOURGEOIS
David LE BOURGEOIS wrote:

Le problème vient du débit qui varie ENORMEMENT selon la taille des
données à transférer.
S'il s'agit d'un ensemble de fichiers dépassant le Mo en taille, le
transfert s'effectue de manière régulière et assez rapide.
Par contre, dans le cas d'un ensemble de plus de dix petits fichiers
(inférieur à 100Ko), le switch attend au moins trois secondes avant de
déclencher le transfert, et cela pour CHAQUE petit fichier.
En fin de compte, pour transférer un fichier de 100Mo, je vais mettre
entre trente secondes et une minute. Alors que pour 20 fichiers faisant
au total 10Mo, le transfert durera cinq minutes !
Savez-vous d'où ça peut venir ?



Des disques durs. Temps d'accès, fragmentation, toussa.
Vous cherchez au mauvais endroit.


En suivant cette piste, j'ai donc refait mes tests de transfert sur un
disque secondaires d'une machine. Mais, hélas, le taux de transfert
reste le même.

Et, par acquis de conscience, j'ai booter deux machines avec une
Knoppix, donc sans utiliser leurs disques durs. Et j'ai refais les mêmes
transferts, après avoir chargé les fichiers en mémoires (par montage,
lecture, démontage). Mais, rien ne change.

Merci quand même pour cette piste.

--
David LE BOURGEOIS

Les nombres sont des libres créations de l'esprit humain.
-+- Richard Dedekind -+-


Avatar
David LE BOURGEOIS

Salut,

On Thu, 12 Aug 2004 21:20:37 +0200, David LE BOURGEOIS
wrote:

Par contre, dans le cas d'un ensemble de plus de dix petits
fichiers (inférieur à 100Ko), le switch attend au moins trois
secondes avant de déclencher le transfert, et cela pour CHAQUE petit
fichier.



Je ne pense vraiment pas que ce soit le switch qui attende quoi que ce
soit. Ce serait plutôt au niveau de l'OS, non? Quelques traces avec
tcpdump ou Ethereal devraient indiquer ce qui se passe, mais je penche
pour un truc quelconque mal configuré qui "timeoute"...

Est-ce que cela peut venir des câbles ?



Un coup d'oeil aux stats d'erreur sur les interfaces avec netstat -i
(et sur le switch, s'il est manageable) devrait indiquer s'il y a un
problème de ce côté.


Effectivement, sur la machine où je prends ou envoie les données, j'ai à
peu près une ou deux RX-ERR par secondes, pendant le transfert.

Et, c'est avec NFS (UDP) que j'ai le plus d'erreur : iptraf me sort
plein de ICMP time excd ou des UDP fragment.

Par contre avec d'autre protocoles (SFTP, FTP ou SMB), les erreurs sont
moins fréquentes : une toutes les dix secondes.

Alors, y a-t-il un lien avec ça :

http://www.alphalinux.org/archives/axp-list/February1999/0282.html

[...]
1) copying 55 MB file via nfs (machine #1 network drive to machine #2
local drive):
approx 15 minutes

2) netperf TCP stream test: approx 60 Mbps (in either direction)

3) ftp 55 MB file (machine #1 remote drive to machine #2 local drive):

23seconds
[...]

C'est à peu près ce qui m'arrive.


En résumé, pour les gros fichiers mon nouveau switch 100Mb/s
fonctionne à merveille, mais pour les petits fichiers, il est cent
fois plus lent que mon vieux hub 10Mb/s.



Il n'y a vraiment *que* ça qui ait changé?


Oui uniquement.
Pour permutter entre switch et hub, j'éteinds toutes les machines puis
les redémarre après le branchement. Rien d'autre.

Merci pour cette réponse rapide.

--
David LE BOURGEOIS

Je voudrais tout attraper, même l'inattrapable.
-+- Jacques-Henri Lartigue -+-


Avatar
David LE BOURGEOIS
Bonsoir.

C'est bon, c'est reglé ! Il s'agissait d'un câble déffectueux.

Curieusement, il faisait apparaître des erreurs de transfert, même si
celui-ci avait lieu entre deux autres câbles. C'est pour cela qu'il
avait trompé mes tests.

Maintenant ça va beaucoup mieux pour mon réseau, et pour mes nerfs :-)
Plus aucune RX-ERR après 1 heure d'intenses transferts.

Merci à tous pour vos différentes pistes de recherche.

--
David LE BOURGEOIS