FTP/FTPS/SFTP/SCP - 速度比較

FTP/FTPS/SFTP/SCP - 速度比較

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

答え1

高速な広域ネットワークをお持ちの場合は、 との速度がほぼ同じsftpscp、遅いことがわかります。どちらも、基盤となる openssh のパフォーマンスの問題を抱えています。最新のハードウェアでは、これは暗号化のオーバーヘッドによるものではなく、openssh の実装の問題によるものです。openssh は独自の内部ウィンドウ メカニズムを実装していますが、高速接続では機能しなくなります。

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

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

ちなみに、ウィンドウの問題が解決されると、暗号化のオーバーヘッドも問題になる可能性があります。パッチには、その修正も含まれています。

一方、これは非常に安全性が低いことがわかりますftp。パスワードはプレーンテキストで送信されます。

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

最後にもう 1 つ注意点があります。私の経験では、WinSCP クライアントは (少なくとも時々) ひどく遅いです。理由はわかりませんが、FAQ によると、この問題に遭遇したのは私だけではありません。したがって、Windows から scp を実行していて遅い場合は、別のクライアントを試してください。パッチを適用していない Openssh サーバーでも、別のクライアントを使用するとはるかに優れたパフォーマンスが得られます。残念ながら、pscpPutty からの単純なクライアント以外、どのクライアントが優れているかはわかりません。

答え2

一般的に、すべてのプロトコルのパフォーマンスはほぼ同じです。プロトコルよりも、ネットワークやディスクの速度によって制限される可能性が高くなります。

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

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

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

結局のところ、プロトコルが速度の制限になることはないはずですが、古いバージョンの ssh では遅延の大きいリンクで問題が発生します。

答え3

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

そうは言っても、実際の数値を知るにはテストを設定する必要があります。上記はすべて私の意見にすぎません。ローカルでパフォーマンスをテストする場合は、ネットワーク上にサーバーを設定してください。最終使用がインターネット経由の場合は、外部ホストからテストしてください。

答え4

いつものように、Googleが答えを持っています。
FTP 対 SFTP 対 FTPS
FTP > FTPS > SFTP と表示されています。
また、他の人のテストでは FTP が SCP よりも高速であることがわかりました(http://www.lysesoft.com/support/forums/viewtopic.php?f=5&t=542) ですが、自分で試してみることをお勧めします。
ネットワーク上の任意のボックスにSCPとFTPを設定し、一般的なファイル転送を実行して、両方でどのくらい時間がかかるかを確認してください。

関連情報