web-dev-qa-db-ja.com

SCPを含む大きなファイルを特定のサーバーに送信すると、正確に2112 kBで停止する

特定のubuntu 10.04サーバーがあり、このサーバーがあるオフィスの外にあるサーバーからファイルをsshすると、このサーバー内からLAN経由でこのサーバーにscp-ingを使用すると、何らかの理由で常に動作します、scp-ingはサイズが2112 kBを超えるファイルに対して失敗し、2112 kBでスタックします。そう

scp -vvv /home/attila-szeremi/aszeremi.tar.gz  [email protected]:~/aszeremi.tar.gz

1% 2112KB 909.2KB/s - stalled -最後に動的に、KB/sがますます低くなります。

誰がこれを引き起こしているのか、どのように修正できるのか知っていますか?

私がこれまでに試したこと:

  • Scp -l 2000で速度を制限しました。ファイルの送信が遅くなり、2112 kBで再びスタックしました。
  • -Cによる圧縮を有効にします。まだ同じサイズで停止していました。
42
Attila Szeremi

私は修正を見つけたようです。 LANカードのmtu設定を1492に設定する必要がありました。

# ifconfig eth0 mtu 1492
31
Attila Szeremi

私がこの問題をどうにかして取り除いた唯一の方法は、 disable TCP SACK

$ Sudo sysctl -w net.ipv4.tcp_sack=0
34
dav.garcia

新しいLinuxシステムでは、ifconfigコマンドはipに置き換えられている可能性があります

Mtuを設定するコマンドは次のようになります。

# ip link set dev eth0 mtu 1492
11
kriss

Mac OS X@ dav.garcia's answerで同じ問題に悩まされました:

  $ Sudo sysctl -w net.inet.tcp.sack=0
2
vinitius

私はこれと同じ問題を見ていました。上記の提案はどれもうまくいきませんでしたが、彼らは正しい道を歩みました。 MTU設定が1300に設定されたファイアウォールの背後にいました。LANカードのMTUを非常に低く設定すると(576、ややランダム)、パケットのドロップが停止しました。

$ Sudo ifconfig eno1 mtu 576

Linuxクライアントごとにこれを行う必要がありました。何らかの理由で、同じサブネット上のWindowsマシンに問題はありませんでした。

0
Ben Jensen