Re: Nginx reload, выедает CPU

Maxim Dounin mdounin at mdounin.ru
Wed Aug 28 18:48:04 UTC 2013


Hello!

On Wed, Aug 28, 2013 at 09:22:14PM +0300, Serge Negodyuck wrote:

> 28 августа 2013 г., 21:05 пользователь Maxim Dounin
> <mdounin at mdounin.ru> написал:
> > Hello!
> >
> > On Wed, Aug 28, 2013 at 08:39:38PM +0300, Serge Negodyuck wrote:
> >
> >> 28 августа 2013 г., 18:41 пользователь Maxim Dounin
> >> <mdounin at mdounin.ru> написал:
> >>
> >> >
> >> > Ну таки да, timer_resolution 1ms + worker_connections 32000
> >> > поведение объясняют.  Простейшее решение - выпилить из конфига
> >> > timer_resolution и/или поднять до каких-нибудь более разумных
> >> > 100ms.
> >> >
> >> Если бы  timer_resolution не влиял на $upstream_response_time (который
> >> нужен в логах, с довольно большой точностью, чтобы иметь статистику по
> >> бекендам), то да.
> >
> > Таки он и не влияет - timer_resolution предназначен для
> > загрубления точности, а не улучшения.
> >
> > Если нужна высокая точность - просто уберите директиву
> > timer_resolution из конфига (или поставьте в 0, что суть то же
> > самое).
> 
> Да уж, несколько дней убил, а всё по незнанию того, что можно просто
> убрать  timer_resolution.
> Зато немного разобрался в том, как nginx обрабатывает запросы.

В первую очередь - не надо было его ставить.  В документации как бы 
явно написано:

: Уменьшает разрешение таймеров времени в рабочих процессах, за счёт чего
: уменьшается число системных вызовов gettimeofday(). По умолчанию gettimeofday()
: вызывается после каждой операции получения событий из ядра. При уменьшении
: разрешения gettimeofday() вызывается только один раз за указанный интервал.

http://nginx.org/r/timer_resolution/ru

> P.S. Хотя, несколько тысяч живущих вебсокетов, каждый из которых, раз
> в секунду обновляет данные (и создает при этом kevent, да?) - вполне
> возможная ситуация.

Возможная, но маловероятная.  Кроме того, события от реальных 
соединений имеют тенденцию склеиваться между собой при увеличении 
нагрузки, в отличии от таймеров.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



Подробная информация о списке рассылки nginx-ru