SSHがiperf3より遅く実行されるのはなぜですか?

SSHがiperf3より遅く実行されるのはなぜですか?

opensshクライアント/サーバーの最大実行速度は約1.03GB / sですが、iperf3は同じポイントツーポイントリンクで7.03GB / sを簡単に維持できることが残念です。

これらのどれも効果がありません。

  • iperfテストとssh転送テストの間、両方のシステムのCPU負荷は70%(合計2400%)未満でした。
  • 関連ブロックデバイスなし

わかりません。 sshは10gbeをまったくサポートできませんか?パスワードやハッシュが遅くなりますか? opensslクライアントのソースコードにギガビット制限をハードコーディングした人はいますか?このパイプを介して回線速度でデータを転送するには、8つ以上の別々のSSH接続を開く必要がありますか?


以下に示すように、小さな緑色の汚れはですcat /dev/zero | ssh target 'cat >/dev/null'。紫/オレンジ色の汚れはSSHポート転送に基づくiperf3で、背の高い汚れは通常のiperf3です。 ここに画像の説明を入力してください。

いくつかの統計

  • 専用リンクの iperf3: 7.11Gbits/s

    (ファイバを誤って取り扱い、元の〜9Gbit性能が低下したようです。新しいse la vi)

  • 専用リンク経由のiperf3(mtu=9000): 7.55Gbits/s

  • gbe LANのiperf3: 941Mbits/s
  • 直接リンクによるSSHベースのiperf3:1.03Gbits / s
  • ギガビットLANを介したSSHベースのiperf3:941Mbits / s

    (明らかにsshは正しいルーティングを使用していますが、まだ通常のgbeの使用よりも少し高速です。)

  • SSH経由でProxyCommand NCを使用するiperf3:1.1Gbit / s

    (別の非常に小さな利得)

  • ProxyCommand ncを使用したSSH経由のiperf3(mtu = 9000):1.01 Gbit / s

    (この場合、mtuはリンク速度を遅くするようです)

ベストアンサー1

それにもかかわらず、SSHは単一のインスタンスに対してより速い転送を許可しないようです。私はついにループバックでテストを実行する必要があることに気づきました(ループバックはLinux 4.10.0で12 Gbits / sを維持できます)。 SSDでは、ループバックのsshはまだ約125〜135 Mbits / sしか実行しません。 ext4ファイルシステムはほとんどできません。約30-50 Mbits/sを達成します。大規模なトランスポートでは、物理的なセキュリティリンクを確立し、netcatを介してddを使用することにしました。ボトルネックは、ファイルシステムや転送プロトコルではなく、ディスクアレイのスループットです。また、aria2をsftpで使用できるため、パラレルSSHクライアント転送を放棄しました。まだ行く道は遠いようです〜

おすすめ記事