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

Maxim Dounin mdounin at mdounin.ru
Wed Aug 28 18:05:08 UTC 2013


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, что суть то же 
самое).

> Но, в общем, для меня решение уже видно: патчить цикл по дескрипторам,
> чтобы он выполнялся не чаще, чем 5 раз в секунду. А, в идеале, частота
> должна зависеть от  worker_connections.

В идеале - этот цикл должен выполняться единожды при выставлении 
ngx_exiting, а дальше соединения должны проверять ngx_exiting при 
переходе в idle.  Но это не простейшее решение.

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



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