Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Отличия nginx от varnish
В вт, 02/12/2008 в 20:29 +0300, Igor Sysoev пишет:
> On Tue, Dec 02, 2008 at 08:25:02PM +0300, Maxim Dounin wrote:
>
> > Hello!
> >
> > On Tue, Dec 02, 2008 at 06:54:24PM +0200, MZ wrote:
> >
> > > В вт, 02/12/2008 в 18:32 +0300, Maxim Dounin пишет:
> > >
> > > > Я бы ещё добавил что наличие многих процессов у nginx'а ситуацию
> > > > не сильно лечит при использовании accept_mutex'а - ибо worker
> > > > пытается получить accept_mutex раз в 500ms по умолчанию (тюнится
> > > > через accept_mutex_delay), и соответственно если не повезёт могут
> > > > быть задержки с accept()'ом вплоть до 500ms даже если есть
> > > > свободные worker'ы.
> > > >
> > > > Maxim Dounin
> > >
> > > А чем же воркеры заняты 500ms если получить accept_mutex не удалось ?
> >
> > Висят и ждут очередного события по уже открытым соединениям. В
> > предельном случае - ничего не делают и ждут того самого таймера в
> > 500ms.
>
> Возможно, имеет смысл уменьшить 500ms до 100ms по умолчанию.
500ms задержки (250ms в среднем) это все ж достаточно серьезно :(
Получается при текущей архитектуре nginx их не избежать, ведь рабочие
соединения практически всегда в наличии.
10ms при 40 workers дали ~2% нагрузки CPU на Xeon(R) X3320 (4 ядра
2.50GHz) без трафика.
Терпимо.
Лучше по умолчанию ставить хотя бы 50ms, зачем больше? Оверхед при 50ms
практически неощутим никак.
|