nginx: worker process is shutting down

Maxim Dounin mdounin на mdounin.ru
Чт Сен 23 15:06:35 MSD 2010


Hello!

On Thu, Sep 23, 2010 at 06:50:21AM -0400, ig0r wrote:

> Здравствуйте, 
> 
> Под нагрузкой в 10-50 запросов в секунду
> возникают процессы "nginx: worker process is shutting
> down" которые нагружают процессор и
> особенно дисковую систему.

Воркеры в состоянии "shutting down" - это воркеры, которые плавно 
завершаются.  Они возникают только если nginx об этом попросить - 
e.g. послать SIGHUP (reload конфигурации).  Висят до завершения 
последнего активного запроса в данном рабочем процессе (т.е. если 
клиент качает что-то большое - могут висеть очень долго).

Именно в связи с вышеизложенным рекомендуется думать, прежде чем 
посылать nginx'у SIGHUP.  И это одна из причин почему используется 
отдельный сигнал для переоткрытия логов с целью их вращения 
(USR1).

> В логах только записи вроде "upstream timed out"
> 
> В конфиге прописано "worker_processes  5;"
> количество живых воркеров держится на
> этом уровне, а количество сабжевых
> воркеров постоянно растёт (пока я не
> посылаю им TERM).
> 
> Подскажите, насколько это нормально, и
> куда нужно копать.

Вероятно у вас где-то в кроне кто-то посылает SIGHUP nginx'у.  Не 
надо так делать.

Подробнее об управлении nginx'ом можно почитать тут:

http://sysoev.ru/nginx/docs/control.html

Maxim Dounin



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