FTP、FTPS、SFTP、およびSCPは、転送速度の点でどのように比較されますか。また、テストを通じてどのように比較できますか?
FTP、FTPS、SFTP、およびSCPは、転送速度の点でどのように比較されますか。また、テストを通じてどのように比較できますか?
回答:
あなたは、高速広域ネットワークを持っている場合、あなたはそれを見つけるsftp
とscp
遅い同じ速度、程度です。両方とも、基礎となるopensshのパフォーマンスの問題に苦しんでいます。最新のハードウェアでは、これは暗号化のオーバーヘッドによるものではなく、openssh実装の問題によるものです。高速接続で故障する独自の内部ウィンドウメカニズムを実装しています。
これらの問題は、長距離(高遅延)接続でより明白になりますが、LANでも速度が低下しました。
これらは十分に文書化されており、問題を修正するためのパッチが利用可能です。接続のどちらかの端にパッチを適用すると役立ちます。理想的には、両端にパッチを適用します。詳細とパッチについては、ピッツバーグスーパーコンピューターセンターの高性能SSHをご覧ください。
ところで、ウィンドウの問題が解決されると、暗号化のオーバーヘッドも問題になります。パッチにも修正があります。
その間、あなたはそれftp
がひどく安全でないことに気付くでしょう。パスワードをプレーンテキストで送信します。
ftps
ftpプロトコルをSSLでラップすると思います。おそらく、パッチ未適用のSFTP / SCPよりも高速です。
最後の注意点:私の経験では、WinSCPクライアントは(少なくとも時には)痛いほど遅いです。理由はわかりませんが、よくある質問に基づいて、この問題を抱えているのは私だけではありません。したがって、Windowsからscpを実行していて、速度が遅いようであれば、別のクライアントを試してください。パッチが適用されていないopensshサーバーを使用していても、別のクライアントを使用するとはるかに優れた結果を得ることができます。残念ながら、どちらが良いクライアントかはわかりません。
一般に、すべてのプロトコルはほぼ同じ性能を発揮します。プロトコルよりもネットワークまたはディスクの速度によって制限される可能性が高くなります。
古いバージョンの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には高遅延リンクの問題があります。
暗号化のオーバーヘッドに基づいて、プレーンFTPのパフォーマンスはおそらく他のプロトコルよりもわずかに優れていると思いますが、おそらく無視できる程度です。最初に必要なセキュリティを提供するプロトコルを使用し、次にスループットを心配します。
そうは言っても、実数を見つけるためのテストを設定する必要があります。上記はすべて私の意見です。ローカルでパフォーマンスをテストする場合は、ネットワーク上にサーバーをセットアップします。最終用途がインターネット経由の場合、外部ホストからテストします。
いつものように、グーグルは答えを保持します、
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をセットアップし、典型的なファイル転送を実行して、両方にかかる時間を確認してください。