Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: балансировка конне кций между воркерами
Hello!
On Mon, Nov 24, 2008 at 10:23:16PM +0300, Anton Yuzhaninov wrote:
> А как балансируются приходящие коннекции между несколькими воркерами?
[...]
> Т. е. все 50k коннекций на одном воркере, а второй отдыхает.
>
> Из особенностей конфига - наличие директивы limit_rate
>
> Если убрать limit_rate то начинают работать оба воркера.
По умолчанию nginx работает с использованием accept_mutex'а, и при
малой нагрузке большая часть работы будет на одном worker'е.
Если хочется лучшей балансировки соединений между рабочими
процессами - можно попробовать выключить accept_mutex:
events {
accept_mutex off;
...
}
Однако в результате использование CPU несколько вырастет, т.к. для
принятия соединения будут пробуждаться все рабочие процессы, при
том что accept() сможет сделать только один из них.
Maxim Dounin
|