балансировка коннекций между воркерами

Maxim Dounin mdounin at mdounin.ru
Tue Nov 25 13:09:42 MSK 2008


Hello!

On Tue, Nov 25, 2008 at 10:12:10AM +0300, Igor Sysoev wrote:

[...]

> > Если хочется лучшей балансировки соединений между рабочими 
> > процессами - можно попробовать выключить accept_mutex:
> > 
> > events {
> >     accept_mutex  off;
> >     ...
> > }
> > 
> > Однако в результате использование CPU несколько вырастет, т.к. для 
> > принятия соединения будут пробуждаться все рабочие процессы, при 
> > том что accept() сможет сделать только один из них.
> 
> Я думаю, рост загрузки CPU при небольшом числе воркеров будет незаметен.
> Вообще, accept mutex появился в Апаче лет десять назад, когда процессоры
> и шедулеры были медленнее, а процессов - много. Называлось это thundering
> herd problem. Наверное, имеет смысл его по дефолту выключать везде,
> кроме rtsig.

Может быть.  Только упомяни в CHANGES, чтобы люди использующие 
большое количество воркеров имели возможность его включить 
обратно.

To Миша Монашёв: а можешь проверить насколько меняется утилизация 
CPU при отключении accept_mutex на твоих сотнях воркеров?

Maxim Dounin





More information about the nginx-ru mailing list