web-dev-qa-db-ja.com

接続が反対側で拒否されました:111:接続が拒否されました

私は25のスクレイピージョブを実行しており、それぞれが重いマシン(Ubuntu 12.04.3 LTSを使用)で50の同時リクエストを持っています。プロキシを使用してリクエストを送信しています。約15分後、ほとんどすべてのリクエストからこのエラーが発生します。

Connection was refused by other side: 111: Connection refused.

プロキシサービスプロバイダーに問い合わせたところ、この問題は私の側のソケットの処理によるものだと言われました。

したがって、私のスクリプトは1250の同時リクエストを送信します。とにかく私は問題がどこにあるかを見つけることができますか? Ubuntuに接続制限はありますか?

1
AliBZ

これについて少し調査したところ、serverfaultで非常によく似たスレッドが見つかりました here 。このような大量の同時接続はあまり一般的ではないため、この特定のケースでは、カーネルが制限要因になる可能性があります。受け入れられた回答は、ip_conntrackテーブルがオーバーフローしている可能性があることを示しています。

Ubuntu(サーバー)では、/etc/sysctl.confでいくつかのカスタムパラメーターを設定する修正が可能です。

net.ipv4.netfilter.ip_conntrack_max = 32768
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_Orphan_retries = 1
net.ipv4.tcp_fin_timeout = 25
net.ipv4.tcp_max_orphans = 8192
net.ipv4.ip_local_port_range = 32768    61000

私がリンクしているスレッドを見てください。カスタム設定では常に非常に注意してください

1
OxySocks

同じ問題がありました。クモをスーパーユーザーとして実行してみてください。コマンドscrapy runspiderでスパイダーを直接実行していました。

Sudo scrapy runspider

動いた。

0
Jéter Silveira