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