FTP / FTPS / SFTP / SCP - Geschwindigkeitsvergleich [geschlossen]


21

Wie vergleichen sich FTP, FTPS, SFTP und SCP in Bezug auf die Übertragungsrate und wie kann ich sie durch Tests vergleichen?


3
Geschwindigkeit ist nicht der wichtige Unterschied zwischen FTP und den anderen.
Ceejayoz

2
Ich bin nicht sicher, warum dies nicht zum Thema gewählt wurde. Für meine Arbeit als professioneller Systemadministrator ist dies sicherlich von großer Bedeutung. Warum wurden bei der Dateiübertragung nicht annähernd die gesamte Bandbreite des Verbindungspfads verwendet?
Dan Pritts

Sie können den Geschwindigkeitsunterschied von SFTP ausgleichen, indem Sie mehrere TCP-Verbindungen verwenden, die von LFTP und dem Spiegelsubsystem mit SFTP gesteuert werden, ohne die Sicherheit zu beeinträchtigen . Es können sogar mehrere Threads für eine einzelne große Datei verwendet werden.
Aaron

Antworten:


29

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

Diese Probleme werden bei Verbindungen über große Entfernungen (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 eines Endes der Verbindung kann helfen. 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 auch zu einem Problem werden, sobald das Fensterproblem gelöst ist. Die Patches haben auch diesbezügliche Korrekturen.

In der Zwischenzeit werden Sie feststellen, dass dies ftpäußerst unsicher ist. es sendet Passwörter im Klartext.

ftpsIch denke, wickelt das FTP-Protokoll in SSL. Es ist wahrscheinlich schneller als ungepatchtes SFTP / SCP.

Eine letzte Anmerkung: Meiner Erfahrung nach ist der WinSCP-Client (zumindest manchmal) schmerzhaft langsam. Ich weiß nicht warum, aber aufgrund ihrer FAQ bin ich nicht die einzige Person, die dieses Problem hatte. Wenn Sie also von Windows aus scp'en und es langsam erscheint, versuchen Sie es mit einem anderen Client. Selbst mit einem nicht gepatchten openssh-Server können Sie mit einem anderen Client viel, viel besser arbeiten. Ich bin mir leider nicht sicher, welche Kunden gut sind.


1
Endlich. Jemand, der weiß, wovon er spricht. Ja, FTPS ist im SSL grundsätzlich FTP. SFTP / SCP ist bei Verwendung von FTP immer langsamer
Jason

Haben Sie eine Idee, warum ich mit scp 300 kb / s erhalte, während ich mit sftp ungefähr 10 Mb / s (fast maximale Geschwindigkeit) erhalte? Das scheint nicht "ungefähr gleich schnell" zu sein. Dies ist über 100 Mbit / s Ethernet.
Graywolf

Vermutlich handelt es sich bei Ihrem SCP um eine fehlerhafte Implementierung (z. B. WinSCP), bei Ihrem SFTP jedoch nicht. Selbst wenn sie sich in demselben GUI-Wrapper befinden, können sie sich von innen unterscheiden.
Dan Pritts

Dan, weißt du, warum dieser SSH-Patch nicht auf OpenSSH angewendet wird? Es ist eindeutig 1 bis 2 Größenordnungen besser (> 10x sogar in einem 100-Mbit / s-LAN). Warum ist dies nicht der neue OpenSSH-Standard? Wie können wir es so machen?
Gabriel Staples

Ich verstehe, dass PSC die Patches an die openbsd-Leute (die openssh schreiben) gesendet hat. Sie waren nicht interessiert. Ich hörte vage Aussagen, dass keiner der OpenBSD-Leute Verbindungen mit hoher Bandbreite hatte und sie keine Probleme bemerkten und / oder notwendigerweise glaubten, dass es ein echtes Problem gab. Dies war vor einigen Jahren und ist Hörensagen, so kann ich nicht für seine Richtigkeit bürgen.
Dan Pritts

4

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 Latenzzeit (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 mit einer Situation wie einer Gigabit- oder einer schnelleren LAN-Verbindung und einer langsameren CPU konfrontiert sind, kann es bei SFTP / SCP zu einem Engpass kommen. Sie werden feststellen können, dass der Prozess ssh / scp / sftp 100% der CPU auf dem sendenden oder empfangenden Host 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 mit geringerer Wahrscheinlichkeit eher von der CPU als von der Festplatte abhängig ist oder Netzwerkbandbreite.

Wenn Sie sowohl die sendende als auch die empfangende Seite steuern, verfügt OpenSSH 6+ auch über einen optionalen NONECIPHER-Modus. Dies verwendet die reguläre Verschlüsselung / die regulären Schlüssel usw., um sich auf dem Remote-Computer anzumelden. Anschließend wird die Verbindung für das eigentliche Kopieren der Dateien unverschlüsselt getrennt. Dadurch wird der CPU-Overhead entfernt. In den NONECIPHER sind Sicherheitsvorkehrungen eingebaut, die verhindern, dass Sie eine nicht verschlüsselte Shell erhalten.

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


Gut zu wissen, dass in den Standardeinstellungen jetzt die Patches installiert werden sollen, obwohl sich RedHat anscheinend ausdrücklich dagegen entschieden hat ( access.redhat.com/site/solutions/53215 ). Beachten Sie auch, dass die transatlantische Latenz nicht allzu groß ist. Aktuelle Klingeltöne: umich -> stanford (california): 89ms. umich -> cambridge (uk): 134ms. Ist es nicht auch die Kombination aus Latenz und Bandbreite, die das Problem verursacht? Daher können Verbindungen mit geringerer Latenz, aber höherer Bandbreite weiterhin Probleme verursachen.
Dan Pritts

3

Aufgrund des Mehraufwands bei der Verschlüsselung würde ich sagen, dass einfaches FTP wahrscheinlich eine etwas bessere Leistung als die anderen Protokolle aufweist, diese 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 der Endverbrauch über das Internet erfolgt, testen Sie ihn von einem externen Host.


Der Leistungsaufwand ist nicht gering, sondern liegt in Größenordnungen. Näher an 10x als 2x langsamer. Ich war selbst überrascht.
Gomibushi

2

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


Warum ist FTP ein Internetprotokoll und SCP für das LAN?
Dan Pritts

5
Ah, ich sehe, dass Sie das aus dem verlinkten eHow-Artikel haben. eHow ist falsch. Beide Protokolle wurden für die Internetnutzung entwickelt. Der Artikel weist mehrere andere Fehler auf. Der Autor weiß offensichtlich nicht, wovon er / sie spricht.
Dan Pritts

Jetzt, wo ich darüber nachdenke, hast du recht, ich hätte es wahrscheinlich überprüfen sollen.

1
Websites wie eHow wissen nie, wovon sie sprechen.
Jason
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.