私はできるだけ早く何千もの異なるウェブサイトをこすり落とさなければなりません。アプリを単一のプロセスで実行すると、1秒あたり10個のURLを取得できました。10人のワーカープロセスにフォークすると、64 reqs/secに達する可能性があります。
なぜそうなのですか?単一のプロセスで10reqs/ secに制限されており、64 reqs/secに到達するためにワーカーを生成する必要があるのはなぜですか
- 最大ソケット/ホスト制限に達していません:すべてのURLは一意のホストからのものです。
- 最大ファイル記述子制限(AFAIK)に達していません。ulimit-nは2560であり、lsofは、スクレーパーが20を超えるファイル記述子を使用しないことを示しています。
- sysctl.confのkern.maxfiles、kern.maxfilesperproc、kern.ipc.somaxconn、およびkern.ipc.maxsocketsの設定を増やして、再起動しました。無効。
- ulimit-nを増やしてみました。変化なし。
わからない制限はありますか?