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