Hello! On Wed, Sep 13, 2017 at 12:07:49PM -0400, ingtar wrote:
> Добрый день! Такая непонятная штука стала происходить (время появления не > зафиксировали) > Есть nginx в котором: > worker_processes 28; > worker_rlimit_nofile 20000; > > В случае выполнения nignx reload старые ооочень долго не завершаются. > Настройка worker_shutdown_timeout 1m выставлена, но особо не помогает. > Через какое-то время появляются ошибки Too many open files. Если посмотреть > по открытым файлам для каждого процесса то картина следующая: [...] Для начала я бы рекомендовал посмотреть в логи ошибок, нет ли там сообщений с уровнями "crit", "alert" или "emerg", особенно - от мастера. Если они есть - то разбираться, что их вызвало. Вообще обращают на себя внимание два фактора: - работающих рабочих процессов существенно меньше, чем должно быть исходя из конфига; - время запуска процессов распределено хаотически (в частности, совпадает время запуска работающих процессов и завершающихся). Это позволяет предположить, что нарушена коммуникация между мастером и рабочими процессами. И, вероятно, были фатальные ошибки при запуске рабочих процессов, из-за которых они больше не могут запускаться. Такое может произойти, например, если nginx упёрся в ограничение по количеству открытых файлов на пользователя, и в этот момент попытались сделать reload. Отмечу в скобках, что для восстановления из подобной ситуации - обязательно перезапустить nginx. Попытки делать очередные reload'ы ни к чему хорошему не приведут. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
