1Gbit LANのscp性能

1Gbit LANのscp性能

1 GBit / sデバイスを使用する有線LANには、2つのLinuxシステム(Has​​well 1、Skylake Xeon 1)があり、大容量ファイルの安全なコピーを実行すると38 MB / sが表示されます。

1000Mbit/sのスペックより3倍低い数値なので、果たしてこの性能が期待したのか気になります。

どちらのシステムもストレージにSSDを使用し、両方とも64ビットUbuntuを実行します。

転送中に、両方のシステムのほぼ1つのコアが30%の負荷状態でした。

機器間に位置するルータはTP-Link Archer C7 AC1750です。どちらのコンピュータにも、全二重モードのIntel(R)ギガビットイーサネットネットワークデバイスがあります。

1Gbit LANの一般的なscp転送速度は何ですか?

修正する

  • ディスク除外IOを使用すると、/dev/zero同じ結果が生成されます。
  • ncを使用する速度は41MiB / sでわずかに高いです。
  • 逆説的に、UDP ncは38MiB / sで、TCP ncよりも遅いです。
  • クロスオーバーケーブルに切り替える:scp 112MB / s。

結論として

途中のTP-Linkルーターはネットワークの弱いリンクなので、追いつくことはできません。

答え1

実際、家庭用ハードウェアでより速い転送を見たことはありませんが、書類では遅くなります。

可能な制限要因を排除するために、いくつかの実験を試すことができます。

  • /dev/zeroからコピーして元のSSH速度を評価します/dev/null。これはHDボトルネックを排除します。
    ssh remote_host cat /dev/zero | pv > /dev/null
    
  • HTTPなどの暗号化されていない他のプロトコルを確認してください。 HTTPは実際にファイルを送信するためにヘッダーのみを送信します。 HTTP経由で大容量ファイルを送信することは、TCP速度を測定するための合理的な方法です。
  • トラフィックがルータを通過せず、イーサネット スイッチを通過するように強制していることを確認します。たとえば、コンピュータにパブリックIPとローカルIPがある場合は、ローカルIPに/からscpを実行します。これは通常、ホームルーターがCPUを介してWANトラフィックを処理する必要があるため、ボトルネックが発生するためです。両方のシステムがLANにある場合でも、パブリックIPを使用すると、パケットがWANに行くかのようにCPUを通過します。
  • 今回もIPv4を使います。 一部ホームルーターはIPv6で奇妙な動作をします。ここでは、すべてのローカルトラフィックをルーターに転送する必要があります。
  • 可能であればお試しくださいギガビットクロスオーバーケーブルルータではありません。これによりルーターが除外されます。

答え2

1Gbit LANの一般的なscp転送速度は何ですか?

112MB/秒

Micosoft WindowsポップアップまたはscpLinuxと同様に、コピー速度は毎秒MB(メガバイト)単位で報告されます。と組み合わせないように注意してくださいインターネット速度1秒あたりのビット数として報告されます。 これから標準化するには、コピー速度は1秒あたりのビット(Mb / s)ではなく1秒あたりのバイト(MB / s)単位でなければなりません。

理由:

  • 1秒あたり1 GB = 1秒あたり1000メガビット(mbps)、これは広告されたネットワーク速度です。
  • 1000Mbps / 8 = 125MB/s(1秒あたりのバイト)理論的最大期待値。
  • 1gpbsの有線ネットワークで堅牢な112MB /秒を観察しました(これより速い速度は見たことがありません)。計算された効率は89.6%で、これは合理的に見えます。
    • これはscpLinuxからLinuxからLinuxシステムまでです。
    • これはLinuxのSamba共有でも機能し、Microsoft Windowsのコピーポップアップにも112MB /秒が報告されます。
    • 私は過去10年間、Windows 7以降でこの現象を観察し、現在はRHEL / CentOS 7でもこの現象を観察しています。別のトラフィックがあり、送信を行っています。 10ドルのTigerdirect 4ポート有線スイッチもあります。
  • Sambaを介してWindowsからLinuxに転送すると、同じ〜10%の損失(125MB /秒から112MB /秒)が観察されたため、SSHがあまりにも多くのオーバーヘッドを引き起こすとは思いません。私の考えでは、この〜10%の損失(125MB /秒から112MB /秒まで)は単なるTCP / IPオーバーヘッドです。私は112MB /秒より良いことを見たことがありません。
  • 時々、転送の開始時に最大115MB /秒が表示され、110〜115の間で変動する可能性がありますが、ほぼ常に平均を出し、112MB /秒に固定されます。
  • Sambaを介したWindowsとLinuxの間、およびLinuxとLinuxの間の転送速度は、両方のシステムが処理中であっても112MB /秒に保つことができますscp。 )。コアサーバー)。
  • 注:rhel 7.xを実行する前に、SLES 11.4ユーザーであってもscp約80 MB /秒を観察し続けましたが、理由はわかりませんでしたが、Sambaを介してWindowsに移動するSLES 11.4速度はまだ112 MB /秒でした。

あなたも忘れないでくださいディスクキャッシュ。たとえば、サーバーに128 GBのRAMがあり、win10 PCに32 GBのRAMがあり、単一の10 GBファイルを7zip tarに圧縮すると、その10 GB単一tarファイルはすべてディスクではなくRAMに存在する可能性があります。したがって、この場合、コピーするファイルのサイズと比較してRAMが使い果たされるまで、ディスクI / Oはコピー転送速度を妨げません。ディスクキャッシュ追いつくことができない場合は、ディスクI / Oによって一定の112 MB /秒のコピー速度が直接低い速度で低下することがわかります(回転ディスクとSSDの場合はさらにそうです)。 112 MB /秒の転送速度は、1 Gbpsの有線ネットワークや関連するネットワークハードウェアに関係なく、他の要因によって減少する可能性があります。

比較のために私が主張した112MB/秒は896Mb/秒です。

注目すべき点:サブフォルダが多く、[小さい]ファイルを含むフォルダをコピーすると、転送速度が大幅に低下し、転送速度を112 MB /秒から毎秒キロバイトに減らすことができるので、速度を転送するにはこれを行わないでください。この場合、ファイルサイズに関係なく、最初にすべてのファイルを1つのファイルにtarまたはisoしてから、そのファイルのみを転送してターゲットから抽出することをお勧めします。

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

2022年1月20日に更新:

  • これパスワードそしてマックin は/etc/ssh/sshd_configssh scp 速度に重要な役割を果たすことができます。
  • scp私は1gbpsよりも100倍速い100gbps HDRインフィニバンドネットワークで行われたテストを知っており、2つのRHEL 7.9サーバー間で次のことを観察しました。
    • Ciphers aes256-ctr,aes192-ctr,aes128-ctr私はandを使うのが最も安全だと思いますMACs hmac-sha2-512,hmac-sha2-256が、最高のパフォーマンスではありません。
      • 1gbps LANでまだ112MB/秒を取得するため、2.9ghz xeon CPUではなく、LANが弱いリンクです。
      • HDR Infinebandでは112 x 100 = 11,200MB/secに近いと思いましたが、最大速度が270MB/sec程度なので2.9ghz CPUでは十分速い速度で暗号化ができないようです。インフィニバンドネットワークの要件
      • これはテスト時に設定され、CiphersそれぞれMACsによって異なりますので、それらを使用していることがわかります。それ以外の場合は、指定された最初のパスワードを選択し、それが機能しない場合は、指定された次のパスワードまたはMacが試行されると思います。
      • 変更Ciphersして(申し訳ありませんが忘れました)、MACs100gbps HDRインフィニバンドを超える最大速度は約700MB/秒でした。 2.9 GHz CPUは選択したSSH暗号化を十分に高速に処理できないため、最大700 MB /秒で、11,200 MB /秒に近いことはありません。この場合、弱いリンクはHDRインフィニバンドネットワークではなくCPUです。sshd_configscp
      • 100gbps HDRインフィニバンドでも、一部のCiphers選択によっては速度が60MB /秒ほど低くなることがあります。scp

答え3

他の答えに加えて:

  • 有線接続がすべて全二重(最初のシステムからターゲットシステムまで)であることを確認してください。
  • scp とネゴシエートされたパケットと戻りパケット (ack など) を除き、他の何も 1gps リンクを使用していないことを確認してください。
  • そして、scpに使用する暗号化は、両端のCPU性能を圧倒しません。
  • より多くのパケットを許可し、より少ないtcpオーバーヘッドパケットを許可するために、より大きなtcpウィンドウ(およびホップが処理できる他のすべて)があります。
  • ファイルがまだ圧縮されておらず、両方のCPUを圧倒していない場合は、すぐに圧縮を試すことができます。

すべてが完全に有利であれば、1gbpsの70〜80%(1秒あたり1024 MBの80%、つまり1秒あたり0.8 * 1024 / 8 MB)に近づく必要がありますが、これは他の種類の接続に害を及ぼす可能性があります(より小さいパケットサイズまたはより高い応答パフォーマンスが短い待ち時間が必要です)

最後に、USBキー(またはドライブ)を携帯する帯域幅を決して過小評価しないでください...(歩くのも健康上の利点です)

答え4

38MB/s は 304Mbps と同じです。これは 1Gbps リンクでかなり良い転送速度です。

- 伝送速度が遅い場合は、次のようないくつかの要因が関連しています。

1- サーバー自体のスループット。

2- サーバーの I/O パフォーマンス [#iostat -xm 1 の使用] 読み取り/書き込み使用率が 90% を超えるディスクがあることを確認します。

3-中間のL2装置は速度を遅くすることができます。 [これを防ぐために直接接続してみてください]。

関連情報