web-dev-qa-db-fra.com

FTP / FTPS / SFTP / SCP - Comparaison de vitesse

Comment FTP, FTPS, SFTP et SCP se comparent-ils en termes de taux de transfert et comment puis-je les comparer par le biais de tests?

22
Graham

Si vous avez un réseau étendu rapide, vous constaterez que sftp et scp sont à peu près à la même vitesse, ce qui est lent. Ils souffrent tous les deux de problèmes de performances dans l'opensh sous-jacent. Avec le matériel moderne, cela n'est pas dû à une surcharge de chiffrement, mais plutôt à des problèmes avec la mise en œuvre openssh - il implémente son propre mécanisme de fenêtrage interne qui tombe en panne sur les connexions rapides.

Ces problèmes deviennent plus évidents sur les connexions longue distance (latence plus élevée), mais j'ai connu une lenteur même sur les réseaux locaux.

Ceux-ci sont bien documentés et des correctifs sont disponibles pour résoudre le problème. Corriger l'une ou l'autre extrémité de la connexion peut aider; idéalement, vous patcheriez aux deux extrémités. Pour plus d'informations et les correctifs, voir High Performance SSH au Pittsburgh Supercomputer Center.

BTW, la surcharge de chiffrement peut également devenir un problème, une fois le problème de fenêtrage résolu. Les correctifs ont également des correctifs pour cela.

En attendant, vous constaterez que ftp est terriblement précaire; il envoie des mots de passe en texte brut.

ftps Je pense qu'il encapsule le protocole ftp dans SSL. c'est probablement plus rapide que SFTP/SCP non corrigé.

Une dernière remarque: d'après mon expérience, le client WinSCP est (au moins parfois) douloureusement lent. Je ne sais pas pourquoi, mais en fonction de leur FAQ je ne suis pas la seule personne à avoir eu ce problème. Donc, si vous scpez depuis Windows, et cela semble lent, essayez un client différent. Même avec un serveur openssh non corrigé, vous pouvez faire beaucoup, beaucoup mieux avec un client différent. Je ne sais pas quels sont les bons clients, malheureusement.

29
Dan Pritts

En général, tous les protocoles fonctionnent à peu près de la même manière. Vous êtes plus susceptible d'être limité par la vitesse de votre réseau ou disque que par le protocole.

Les versions plus anciennes d'OpenSSH (SFTP/SCP) utilisaient une taille de fenêtre fixe qui limiterait la vitesse sur les réseaux à latence élevée (par exemple transatlantique). Il existe un ensemble de correctifs pour résoudre ce problème appelé HPN (réseau haute performance) et il est inclus dans la plupart des installations modernes d'OpenSSH.

Si vous êtes confronté à une situation telle qu'un lien LAN gigabit ou plus rapide et un processeur plus lent, SFTP/SCP peut se heurter à un goulot d'étranglement. Vous pourrez le dire car le processus ssh/scp/sftp utilisera 100% de cpu sur l'hébergement d'envoi ou de réception. Si vous utilisez une version plus récente d'OpenSSH (6.4+), vous pouvez activer une version filetée du chiffrement AES qui pourra utiliser plus d'un cœur pour gérer le chiffrement et sera moins susceptible d'être limitée par le CPU plutôt que par le disque ou la bande passante réseau.

Si vous contrôlez à la fois le côté émetteur et le côté récepteur, OpenSSH 6+ dispose également d'un mode 'NONECIPHER' en option. Celui-ci utilise le cryptage/clés standard, etc. pour se connecter à la machine distante, mais passe ensuite à une connexion non cryptée pour la copie du fichier réel. Cela supprimera cette surcharge du processeur. Il existe des protections intégrées au NONECIPHER qui vous empêchent d'obtenir un Shell qui n'est pas chiffré.

En fin de compte, le protocole ne devrait pas limiter la vitesse, bien que les anciennes versions de ssh aient des problèmes avec les liaisons à latence élevée.

4
Allan Jude

Sur la base de la surcharge de chiffrement, je dirais que le FTP ordinaire a probablement des performances légèrement meilleures que les autres protocoles, mais c'est probablement négligeable. J'utiliserais d'abord le protocole qui fournit la sécurité dont vous avez besoin, puis je m'inquiète du débit.

Cela étant dit, vous devrez mettre en place un test pour trouver les vrais chiffres. Tout ce qui précède n'est que mon opinion. Si vous testez les performances localement, configurez un serveur sur votre réseau. Si l'utilisation finale se fera sur Internet, testez à partir d'un hôte externe.

3
Jim G.

Comme toujours, google détient les réponses,
FTP v/s SFTP v/s FTPS
Qui dit FTP> FTPS> SFTP
FTP semble également être plus rapide que SCP dans le test de quelqu'un d'autre ( http://www.lysesoft.com/support/forums/viewtopic.php?f=5&t=542 ) mais Je recommanderais de l'essayer par vous-même pour voir.
.

2
user197786