Отличия nginx от varnish

MZ zuborg at advancedhosters.com
Wed Dec 3 13:34:08 MSK 2008


В вт, 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
практически неощутим никак.


More information about the nginx-ru mailing list