0

たくさんの機械を使って仕上げる必要のある重い処理があります。現在、Resqueには700人のワーカーがいて、すべてが機能しています。ただし、ワーカーの数を1000に増やすと、多くのredisタイムアウトが発生し始めます。私はredis-cliから接続することさえできなくなったので、制限はredisにあるとほぼ確信しています。resqueまたはredisに制限はありますか?または、ファイルシステムの制限である可能性がありますか?

私がそれを変更できるように、誰かがこの構成がどこにあるか知っていますか?

ありがとう。

4

2 に答える 2

2

サーバーボックスのリソース制限に達している可能性があります。

Linuxでは、以下を確認してください。

ulimit -a
sysctl net.ipv4.ip_local_port_range
sysctl net.ipv4.tcp_fin_timeout
sysctl net.core.somaxconn
sysctl net.ipv4.tcp_tw_recycle
sysctl net.ipv4.tcp_tw_reuse
sysctl fs.file-max
sysctl net.ipv4.tcp_window_scaling
sysctl kernel.pid_max
sysctl net.ipv4.tcp_orphan_retries
sysctl net.ipv4.tcp_max_orphans

FreeBSDでは、以下を確認してください。

sysctl kern.ipc.nmbclusters
sysctl kern.ipc.maxsockets
sysctl kern.maxfiles
sysctl kern.maxfilesperproc
sysctl net.inet.tcp.msl
sysctl net.inet.ip.portrange.first
sysctl net.inet.ip.portrange.last

これらのsysctl構成に関する詳細情報を取得し、必要に応じて増やします。

于 2012-10-20T14:11:21.527 に答える
0

各ワーカーはフォークされており、マシンの他のリソースによっては、700〜1000人のワーカーの実行の制限に達した可能性があります。

使用されているメモリの量を監視し、maxclientsが上記の@AndrewMarshallによって提案されたように設定されているかどうかを確認することをお勧めします

于 2012-10-19T06:13:51.687 に答える