1 GBit / sデバイスを使用する有線LANには、2つのLinuxシステム(Haswell 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ポップアップまたはscp
Linuxと同様に、コピー速度は毎秒MB(メガバイト)単位で報告されます。と組み合わせないように注意してくださいインターネット速度1秒あたりのビット数として報告されます。 これから標準化するには、コピー速度は1秒あたりのビット(Mb / s)ではなく1秒あたりのバイト(MB / s)単位でなければなりません。
理由:
- 1秒あたり1 GB = 1秒あたり1000メガビット(mbps)、これは広告されたネットワーク速度です。
- 1000Mbps / 8 = 125MB/s(1秒あたりのバイト)理論的最大期待値。
- 1gpbsの有線ネットワークで堅牢な112MB /秒を観察しました(これより速い速度は見たことがありません)。計算された効率は89.6%で、これは合理的に見えます。
- これは
scp
Linuxから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_config
ssh 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
して(申し訳ありませんが忘れました)、MACs
100gbps HDRインフィニバンドを超える最大速度は約700MB/秒でした。 2.9 GHz CPUは選択したSSH暗号化を十分に高速に処理できないため、最大700 MB /秒で、11,200 MB /秒に近いことはありません。この場合、弱いリンクはHDRインフィニバンドネットワークではなくCPUです。sshd_config
scp
- 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装置は速度を遅くすることができます。 [これを防ぐために直接接続してみてください]。