У меня есть Nginx + php5-fpm . Несколько раз в час мой сайт зависает и в лог-файле я вижу следующее:
ВНИМАНИЕ: сервер [pool www] достиг настройки pm.max_children (5), рассмотрите возможность ее повышения.
Файл /etc/php5/fpm/pool.d/www.conf содержит следующую конфигурацию:
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
Сервер: AMD Opteron ™ 3280, Octo-Core, 8x 2,4 ГГц, 16 ГБ DIMM (DDR3).
Я понятия не имею, какие цифры я должен поместить в файл www.conf для этого сервера. Могу ли я помочь кому-нибудь? Благодарность
pm.max_children
является слишком низким . Значение 10 целесообразно для небольшого VPS-сервера с 1 ГБ ОЗУ; у вас гораздо больший сервер. Увеличивайте это значение до тех пор, пока не прекратите получать ошибки, а затем повышайте его снова в случае, если вы получите всплеск трафика.Я обнаружил, что установка значения pm.max_requests (которое закомментировано по умолчанию) помогло исправить эти ошибки. Этот параметр заставляет дочерние запросы возродиться после выполнения определенного количества запросов и может быть полезен, если в вашем коде или сторонних библиотеках есть утечки памяти.
В /etc/php-fpm.d/www.conf :
источник
Эта ссылка может быть полезна - она объясняет, как рассчитать количество дочерних процессов на основе объема памяти в системе:
источник