it-swarm.com.de

FTP / FTPS / SFTP / SCP - Geschwindigkeitsvergleich

Wie vergleichen sich FTP, FTPS, SFTP und SCP hinsichtlich der Übertragungsrate und wie kann ich sie durch Tests vergleichen?

22
Graham

Wenn Sie ein schnelles Weitverkehrsnetz haben, werden Sie feststellen, dass sftp und scp ungefähr die gleiche Geschwindigkeit haben, was langsam ist. Beide leiden unter Leistungsproblemen im zugrunde liegenden OpenSh. Bei moderner Hardware liegt dies nicht am Verschlüsselungsaufwand, sondern an Problemen mit der openssh-Implementierung. Sie implementiert einen eigenen internen Fenstermechanismus, der bei schnellen Verbindungen ausfällt.

Diese Probleme werden bei Fernverbindungen (mit höherer Latenz) offensichtlicher, aber ich habe selbst in LANs Langsamkeit festgestellt.

Diese sind gut dokumentiert und es stehen Patches zur Verfügung, um das Problem zu beheben. Das Patchen an beiden Enden der Verbindung kann hilfreich sein. Idealerweise würden Sie beide Enden patchen. Weitere Informationen und Patches finden Sie unter High Performance SSH im Pittsburgh Supercomputer Center.

Übrigens kann der Verschlüsselungsaufwand ebenfalls zu einem Problem werden, sobald das Fensterproblem behoben ist. Die Patches haben auch Korrekturen dafür.

In der Zwischenzeit werden Sie feststellen, dass ftp absolut unsicher ist. Es sendet Passwörter im Klartext.

ftps Ich denke, das FTP-Protokoll wird in SSL eingeschlossen. Es ist wahrscheinlich schneller als ungepatchtes SFTP/SCP.

Ein letzter Hinweis: Nach meiner Erfahrung ist der WinSCP-Client (zumindest manchmal) schmerzhaft langsam. Ich weiß nicht warum, aber basierend auf ihrem FAQ Ich bin nicht die einzige Person, die dieses Problem hatte. Wenn Sie also von Windows aus scp'en und es langsam erscheint, versuchen Sie es Ein anderer Client. Selbst mit einem nicht gepatchten OpenSh-Server können Sie mit einem anderen Client viel, viel besser arbeiten. Ich bin mir leider nicht sicher, welche Clients gute sind.

29
Dan Pritts

Im Allgemeinen werden alle Protokolle ungefähr gleich ausgeführt. Es ist wahrscheinlicher, dass Sie durch die Geschwindigkeit Ihres Netzwerks oder Ihrer Festplatte als durch das Protokoll eingeschränkt werden.

Ältere Versionen von OpenSSH (SFTP/SCP) verwendeten eine feste Fenstergröße, die die Geschwindigkeit über Netzwerke mit hoher Latenz (z. B. transatlantisch) begrenzt. Es gibt ein Patch-Set zur Behebung dieses Problems namens HPN (High Performance Networking), das in den meisten modernen Installationen von OpenSSH enthalten ist.

Wenn Sie in eine Situation wie eine Gigabit- oder schnellere LAN-Verbindung und eine langsamere CPU geraten, kann es bei SFTP/SCP zu einem Engpass kommen. Sie können feststellen, dass der Prozess ssh/scp/sftp beim Senden oder Empfangen von Hosting 100% der CPU verwendet. Wenn Sie eine neuere Version von OpenSSH (6.4+) verwenden, können Sie eine Thread-Version der AES-Verschlüsselung aktivieren, die mehr als einen Kern für die Verschlüsselung verwenden kann und weniger wahrscheinlich von der CPU als von der Festplatte eingeschränkt wird oder Netzwerkbandbreite.

Wenn Sie sowohl die Sende- als auch die Empfangsseite steuern, verfügt OpenSSH 6+ auch über einen optionalen 'NONECIPHER'-Modus. Hierbei werden die regulären Verschlüsselungen/Schlüssel usw. verwendet, um sich am Remotecomputer anzumelden. Anschließend wird für das eigentliche Kopieren der Datei eine unverschlüsselte Verbindung hergestellt. Dadurch wird der CPU-Overhead entfernt. In NONECIPHER sind Sicherheitsvorkehrungen integriert, die verhindern, dass Sie eine Shell erhalten, die nicht verschlüsselt ist.

Am Ende sollte das Protokoll nicht die Geschwindigkeitsbeschränkung sein, obwohl ältere Versionen von ssh Probleme mit Verbindungen mit hoher Latenz haben.

4
Allan Jude

Aufgrund des Verschlüsselungsaufwands würde ich sagen, dass einfaches FTP wahrscheinlich eine etwas bessere Leistung als die anderen Protokolle aufweist, aber wahrscheinlich vernachlässigbar ist. Ich würde das Protokoll verwenden, das die Sicherheit bietet, die Sie zuerst benötigen, und mich dann um den Durchsatz kümmern.

Davon abgesehen müssen Sie einen Test einrichten, um die reellen Zahlen zu finden. Alles oben ist nur meine Meinung. Wenn Sie die Leistung lokal testen, richten Sie einen Server in Ihrem Netzwerk ein. Wenn die Endverwendung über das Internet erfolgt, testen Sie von einem externen Host.

3
Jim G.

Wie immer hält Google die Antworten,
FTP v/s SFTP v/s FTPS
Darin steht FTP> FTPS> SFTP
FTP scheint im Test eines anderen auch schneller als SCP zu sein ( http://www.lysesoft.com/support/forums/viewtopic.php?f=5&t=542 ), aber Ich würde empfehlen, es selbst zu versuchen, um es selbst zu sehen.
Richten Sie also einfach SCP und FTP in einer beliebigen beliebigen Box in Ihrem Netzwerk ein, führen Sie dann eine typische Dateiübertragung aus und sehen Sie, wie lange es auf beiden dauert

2
user197786