サーバーAには300GBの大容量ファイルがあります。自宅でファイルをコピーしてみましたが、scp
非常に遅かったrsync
(80KB / s以下)。
他のサーバーBにもアクセスできます。scp
サーバーAからサーバーBにすべてのファイルを20 MB / sにコピーできます。rsync
scp
最後に、サーバーBから自宅に20 MB / sの速度でファイルをコピーできます。rsync
誰かがこれが起こる理由を理解するのに役立ちますか(そして解決できるか)。私はLinux/ネットワーク初心者なので、正しい方向に助けてくれてありがとう。
要約:
A -> Home (super slow)
A -> B -> Home (a lot faster)
答え1
最大伝送単位
パスMTUの検索あなたと。間に協力がないようですA
。
良い解決策は、この問題を解決することです。このサイトには解決策を説明する答えがあります。
簡単な回避策として、A
ホームシステムのルーティングテーブルに対応する宛先IPのMTUを設定できます(もっと重要なのは)。
帯域幅を無駄にしないようにするには、そのルートの信頼できる最大MTUを決定する必要があります。実行してください
ping -s 1472 A
数字は低いです。特に1464は良い機会があります。
ショートバージョン:一部(ほとんど)IPパケットが大きすぎて破棄されます。より小さなパケットを送信するように強制する必要がありますA
(おそらくホームシステムも同様ですが、その方向のパケットはとにかく十分に小さいでしょう)。
ルーティングテーブル
ルーティングテーブル(両方のシステム)は次のとおりです。
root@vm:~# ip r
default via 192.168.213.3 dev bridgeport
192.168.213.0/24 dev bridgeport proto kernel scope link src 192.168.213.122
このコマンドを使用してください
ip route add 10.9.8.0/24 via 192.168.213.3 mtu 1480
ホストまたはサブネットのエントリを追加できます。アイテムのデフォルトゲートウェイを使用することもできます。
使用した設定はmtu
、1500から1472と見つかった値(1464と仮定)の差を引いたものです。
- 1472-1464=8
A-home
MTU = 1500-8 = 1492ip route add ... mtu 1492
root@vm:~# ip r
default via 192.168.213.3 dev bridgeport
10.9.8.0/24 via 192.168.213.3 dev bridgeport mtu 1480
192.168.213.0/24 dev bridgeport proto kernel scope link src 192.168.213.122
これは永続的な設定ではありません。再起動するか、ネットワークを再ロードすると消えます。ping
このパスを追加してもう一度テストしてください。