3 votes

vsftpd rapide pour les fichiers binaires, lent pour les fichiers texte

J'utilise vsftpd 2.2.1 sur une machine Ubuntu 8.04 avec une configuration assez simple et je rencontre un problème étrange concernant les téléchargements vers la machine via FTP. Si je télécharge des fichiers texte, la vitesse de transfert est d'environ 70 KB/s, si je télécharge des données binaires (fichier zip, etc.), la vitesse de transfert est environ 50 fois plus rapide. J'ai utilisé plusieurs clients différents sur différents systèmes d'exploitation, différentes tailles de fichiers, etc. J'ai essayé les modes binaire et ASCII pour le transfert de fichiers texte et rien ne semble faire de différence. Quelqu'un a-t-il déjà rencontré ce problème ou a-t-il une idée de ce qui pourrait causer ce comportement ?

Mise à jour : Le serveur FTP se trouve sur un sous-réseau différent de celui des machines clientes avec lesquelles j'ai effectué les tests précédents et une passerelle Linux se trouve entre les deux. Il semble que le problème ne se produise que lorsque des machines situées sur un sous-réseau différent se connectent au serveur FTP via la passerelle. Lorsque des machines situées sur le même sous-réseau que le serveur FTP téléchargent des fichiers texte, le problème ne semble pas se produire. Cela n'a toujours pas beaucoup de sens, mais il y a peut-être un problème avec le module ip_conntrack_ftp utilisé sur la passerelle.

Mise à jour : Il s'est avéré que quelqu'un avait mis en place un IDS Snort d'un côté de la passerelle, ce qui cassait les paquets FTP sur des barrières approximatives de nouvelles lignes, ce qui causait le décalage pour les fichiers texte.

0 votes

Merci de nous fournir la réponse ici. J'ai rencontré un problème similaire il y a longtemps et j'ai fini par le résoudre, mais même en lisant votre question, j'avais oublié de quoi il s'agissait.

0 votes

Veuillez le marquer comme accepté.

1voto

Lawand Points 640

Peut-être que les conversions de fin de ligne dans vsftpd ont été écrites de manière inefficace, et comme le mode binaire est le plus couramment utilisé, personne n'a pris la peine d'améliorer l'algorithme utilisé dans vsftpd.

Il se peut aussi que le transfert de données d'un socket tcp vers le disque soit beaucoup plus rapide que la vérification de CR et LF sur chaque caractère. La vérification pourrait introduire suffisamment de latence dans la connexion pour réduire votre vitesse de transfert.

Effectuez-vous des tests localement sur Ethernet (faible latence, serait grandement affectée par une latence supplémentaire) ou sur Internet ?

0 votes

J'ai essayé le mode ASCII et le mode binaire et pour les fichiers texte, cela ne fait aucune différence. En mode binaire, les fichiers texte sont toujours beaucoup plus lents et je ne pense pas que les conversions CR/CRLF doivent entrer en ligne de compte. Je fais des tests localement sur un réseau local de 100 Mbit.

0 votes

Est-ce lié à l'extension du fichier ? Un antivirus ou un pare-feu sur le serveur ou le client pourrait-il ajouter une surcharge à certaines extensions ?

0 votes

Il ne semble pas l'être, j'ai essayé avec et sans extensions, il n'y a pas de scanner de virus ou autre chose d'impliqué, j'ai reproduit ceci entre une machine cliente linux, un serveur linux, et un pare-feu linux, tous sans AV ou autre chose qui pourrait affecter quoi que ce soit. La passerelle ne fait que transférer le trafic entre les sous-réseaux.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X