実験のニーズに応じて、 [〜#〜] mtu [〜#〜] を8000
。これを実行した後、scp
を使用して大きなファイルをコピーすると、0.00%
。私は試した scp -l
または scp -C
およびtcp_sack
on/off、しかしそれでも動作しませんでした。また、実験結果の比較のためにMTUサイズを変更することはできません。他に役立つ方法はありますか?
状況に応じていくつかの問題と制限が存在する可能性があるため、包括的なソリューションの試み。
私の優先オプション: rsyncを使用してもこの問題は発生せず、私の意見ではもう少し多目的です。どのファイルが既にそこにあるかを追跡しているので、接続が切れた場合は、中断したところから再開できます- --partial
フラグも試してください - とりわけthings 。
の代わりに
scp local/path/some_file [email protected]:"/some/path/"
あなたはただできる
rsync -avz --progress local/path/some_file [email protected]:"/some/path/"
scp
があなたに与えたのと同じ問題を私に与えるいくつかの機会でこれをテストしました-そして今、私はデフォルトでrsyncを使うだけです。
この状況ではMTUが修正されるため(おそらくここでは問題ではない)、OPの解決策ではありませんが、原因が2つのドライブ間の低速/信頼性の低い接続である場合、速度制限を設定するとTCP接続の停止-当然のことながら、転送速度が遅くなります。これは、次のように最大データレートをキロビットで指定しない限り、scpが取得できるすべての帯域幅を取得するためです。
scp -l 8192 local/path/some_file [email protected]:"/some/path/"
これは 常に機能するとは限りません です。
scpの-Cオプションは speed up 転送を行うことができ、転送が停止する可能性を減らします。
OPで述べたように、 ここ 。
Sudo sysctl -w net.ipv4.tcp_sack=0
( または同様 )
繰り返しますが、 MTU修正 であり、必ずしも転送の具体的なものではありません。
ifconfig eth0 mtu 1492
または 新しい(Linux)システム :
ip link set dev eth0 mtu 1492
他のすべてが失敗した場合、 this は、ここに含まれていない別の少数の潜在的なソリューションをリストします。
よりエキゾチックな hpnバグ にも問題がある可能性があります。
Cisco ASAファイアウォールの背後にいる可能性はありますか?その場合、「シーケンス番号のランダム化」をオフにすると、多くの場合に役立ちます-オンの場合はTCP Offload(ethtool -K $ INTERFACE tso off gso off gro off)も無効にします)サーバーにBroadcom NICを搭載したCisco ASA。