FTP / FTPS / SFTP / SCP-速度の比較[終了]


21

FTP、FTPS、SFTP、およびSCPは、転送速度の点でどのように比較されますか。また、テストを通じてどのように比較できますか?


3
速度はFTPとその他の重要な違いではありません。
ceejayoz

2
これがトピック外で投票された理由がわかりません。確かにプロのシステム管理者としての私の仕事に非常に関係があります-なぜ、接続パス全体の帯域幅に近い場所を使用してファイルを転送しなかったのですか?
ダンプリッツ

セキュリティを犠牲にすることなく、LFTPによって駆動される複数のTCP接続とSFTPを使用するミラーサブシステムを使用することにより、SFTPの速度差を補正できます。1つの大きなファイルに対して複数のスレッドを使用することもできます。
アーロン

回答:


29

あなたは、高速広域ネットワークを持っている場合、あなたはそれを見つけるsftpscp遅い同じ速度、程度です。両方とも、基礎となるopensshのパフォーマンスの問題に苦しんでいます。最新のハードウェアでは、これは暗号化のオーバーヘッドによるものではなく、openssh実装の問題によるものです。高速接続で故障する独自の内部ウィンドウメカニズムを実装しています。

これらの問題は、長距離(高遅延)接続でより明白になりますが、LANでも速度が低下しました。

これらは十分に文書化されており、問題を修正するためのパッチが利用可能です。接続のどちらかの端にパッチを適用すると役立ちます。理想的には、両端にパッチを適用します。詳細とパッチについては、ピッツバーグスーパーコンピューターセンターの高性能SSHをご覧ください。

ところで、ウィンドウの問題が解決されると、暗号化のオーバーヘッドも問題になります。パッチにも修正があります。

その間、あなたはそれftpがひどく安全でないことに気付くでしょう。パスワードをプレーンテキストで送信します。

ftpsftpプロトコルをSSLでラップすると思います。おそらく、パッチ未適用のSFTP / SCPよりも高速です。

最後の注意点:私の経験では、WinSCPクライアントは(少なくとも時には)痛いほど遅いです。理由はわかりませんが、よくある質問に基づいて、この問題を抱えているのは私だけではありません。したがって、Windowsからscpを実行していて、速度が遅いようであれば、別のクライアントを試してください。パッチが適用されていないopensshサーバーを使用していても、別のクライアントを使用するとはるかに優れた結果を得ることができます。残念ながら、どちらが良いクライアントかはわかりません。


1
最後に。彼らが話していることを知っている人。はい、FTPSは基本的にSSLのFTPです。FTP使用時にSFTP / SCPはいつもより遅く、その後になります
ジェイソン・

sftpで約10 Mb / s(ほぼ最大速度)を取得しながらscpで300 kb / sを取得する理由をご存知ですか?それは「ほぼ同じ速度」ではないようです。これは100Mbps以上のイーサネットです。
グレイウルフ

あなたのscpは欠陥のある実装(WinSCPなど)ですが、sftpはそうではありません。同じGUIラッパー内にある場合でも、内部では異なる場合があります。
ダンプリッツ

ダン、このSSHパッチがメインのOpenSSHに適用されない理由はありますか?明らかに1から2桁優れています(100Mbps LANでも10倍以上)。なぜこれが新しいOpenSSH標準ではないのですか?どうすればそれを実現できますか?
ガブリエルステープルズ

私の理解では、PSCはopenbsdの人々(opensshを書いている)にパッチを提出したということです。彼らは興味がなかった。openbsdの人は誰も高帯域幅の接続を持っていないし、問題に気づかず、そして/または必然的に本当の問題があると信じているという漠然とした声明を聞きました。これは数年前の話であり、その正確さを保証することはできません。
ダンプリッツ

4

一般に、すべてのプロトコルはほぼ同じ性能を発揮します。プロトコルよりもネットワークまたはディスクの速度によって制限される可能性が高くなります。

古いバージョンのOpenSSH(SFTP / SCP)は固定ウィンドウサイズを使用していたため、高レイテンシネットワーク(大西洋横断など)の速度が制限されていました。この問題を解決するためのHPN(High Performance Networking)と呼ばれるパッチセットがあり、OpenSSHの最新のインストールに含まれています。

ギガビットまたは高速のLANリンクや低速のCPUなどの状況で実行している場合、SFTP / SCPがボトルネックになる可能性があります。ssh / scp / sftpプロセスが送信または受信ホスティングでCPUの100%を使用するため、わかります。OpenSSHの新しいバージョン(6.4以降)を使用している場合は、暗号化を処理するために複数のコアを使用でき、ディスクではなくCPUによって制限される可能性が低いAES暗号のスレッドバージョンを有効にできます。またはネットワーク帯域幅。

送信側と受信側の両方を制御する場合、OpenSSH 6+にはオプションの「NONECIPHER」モードもあります。これは、通常の暗号化/キーなどを使用してリモートマシンにログインしますが、実際のファイルコピーのために暗号化されていない接続にドロップします。これにより、そのCPUオーバーヘッドが削除されます。NONECIPHERには、暗号化されていないシェルの取得を防ぐためのセーフガードが組み込まれています。

結局、プロトコルは速度の制限になるべきではありませんが、古いバージョンのsshには高遅延リンクの問題があります。


デフォルトでは、パッチがインストールされるようになっていますが、redhatは明示的にそれを決定しているようです(access.redhat.com/site/solutions/53215)。また、大西洋をまたぐ待ち時間はそれほど多くないことに注意してください。現在のping rtts:umich-> stanford(california):89ms。umich->ケンブリッジ(英国):134ms。また、遅延と帯域幅の組み合わせが問題の原因ではありませんか?そのため、待ち時間は短くなりますが、帯域幅の広いリンクでは問題が発生する可能性があります。
ダンプリッツ

3

暗号化のオーバーヘッドに基づいて、プレーンFTPのパフォーマンスはおそらく他のプロトコルよりもわずかに優れていると思いますが、おそらく無視できる程度です。最初に必要なセキュリティを提供するプロトコルを使用し、次にスループットを心配します。

そうは言っても、実数を見つけるためのテストを設定する必要があります。上記はすべて私の意見です。ローカルでパフォーマンスをテストする場合は、ネットワーク上にサーバーをセットアップします。最終用途がインターネット経由の場合、外部ホストからテストします。


パフォーマンスのオーバーヘッドは数桁であり、わずかではありません。2倍よりも10倍近い。びっくりしました。
ごみ節

2

いつものように、グーグルは答えを保持します、
FTP v / s SFTP v / s FTPS
FTP> FTPS> SFTP
FTPは、他の誰かのテストでSCPよりも速いようです(http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542)ですが、自分で試してみることをお勧めします。
したがって、ネットワーク上の任意のボックスにSCPとFTPをセットアップし、典型的なファイル転送を実行して、両方にかかる時間を確認してください。


FTPはインターネットプロトコルであり、LANのSCPであると言うのはなぜですか?
ダンプリッツ

5
ああ、リンクされたeHowの記事からあなたはそれを得たと思う。eHowが間違っています。両方のプロトコルは、インターネットで使用するために設計されました。この記事には他にもいくつかのエラーがあります。作家は明らかに彼/彼女が何について話しているのか分からない。
ダンプリッツ

私はそれについて考えたので、あなたは正しい、私はおそらくチェックすべきだった。

1
eHowなどのサイトは、彼らが何について話しているのか決してわかりません。
ジェイソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.