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