nginx полностью загружает весь процессор при reload'e

Dmitry Sergeev identw на gmail.com
Вт Авг 27 10:24:03 UTC 2019


Версия: 1.14.2
ОС: ubuntu 16.04
Процессор: Intel Core i7-6700 CPU 3.40GHz

Средняя нагрузка: 5 000 rps, пиковые значения 12 000 rps.  Статики 
практически нет, все запросы проксируются либо на бэкенды с nodejs через 
proxy_pass либо на php-fpm через fastcgi_pass. Виртуальных хостов 16, 
несколько из них имеют среднюю нагрузку 2K rps, остальные 500 rps.

С бэкендами nodejs включен keepalive, с php отключен.

Кроме nginx на сервере ничего нет.

Проблема в том, что при reload'e конфигурации, несколько минут nginx 
начинает жрать весь процессор, все ядра под 100%, и запросы начинают 
обрабатываться медленно либо совсем сбрасываются, отсюда куча ошибок у 
клиентов. Такая проблема наблюдается только на серверах, где много 
виртуальных хостов (15-30). На серверах с аналогичной нагрузкой, но 
например 1-3 виртуальными хостами. Таких проблем не наблюдаю.

Может быть кто-нибудь подскажет, как можно это оптимизировать, что-то 
подкрутить. Может можно как-то плавнее релоадить, чтобы медленее, но при 
этом нагрузка на CPU как-то плавнее распределялась.

-- 
Kind regards
Dmitry Sergeev
Tel: +7 (951) 129-75-72



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