балансировка коннекций между воркерами
Anton Yuzhaninov
citrin at citrin.ru
Mon Nov 24 22:23:16 MSK 2008
А как балансируются приходящие коннекции между несколькими воркерами?
$ uname -srp
FreeBSD 7.1-PRERELEASE amd64
$ nginx -v
nginx version: nginx/0.7.22
$ ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
PID PPID %CPU VSZ WCHAN COMMAND
6345 1 0.0 6824 pause nginx: master process /usr/local/sbin/nginx
6346 6345 0.0 420520 kqread nginx: worker process (nginx)
6347 6345 0.0 44712 kqread nginx: worker process (nginx)
$ fstat | grep 'nginx.*tcp' | awk '{print $3}' | sort | uniq -c
2 6345
50002 6346
2 6347
Т. е. все 50k коннекций на одном воркере, а второй отдыхает.
Из особенностей конфига - наличие директивы limit_rate
Если убрать limit_rate то начинают работать оба воркера.
--
Anton Yuzhaninov
P. S. В логе на уровне info ничего подозрительного не замечено.
More information about the nginx-ru
mailing list