@mihelsonkk
nginx, mysql, unix

Что делает php-fpm после SIGSEGV?

Ситуация такая. Centos 6.2 Php-fpm отлично работал. Перенес сайт с другого хостинга - в этом новом пуле php-fpm начались проблемы. Множество PHP Fatal error в логе пула - по разным причинам. Есть и SIGSEGV в логе php-fpm. (и в dmesg самом собой) Некоторые совпадают по времени.

Схема pm такая
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

По мере SIGSEGV количество процессов в пуле уменьшалось - пока совсем ни одного не осталось. Сайт лег. Перезапустил php-fpm как временное решение.

Почему fatal error приводит к сегфолту - интересный вопрос сам по себе, но здесь спрашивать смысла нет. Разбираюсь с coredump.

Мой вопрос - должен ли был php-fpm заменять процессы упавшие по сегфолту на новые? (почему ни одного не осталось?) emergency_restart_threshold и emergency_restart_interval - были установлены - но сегфолты происходили редко, примерно 1 раз в час и под условие интервала не подходили. Если это нормальное поведение php-fpm (на php.net ничего не нашел по теме), можно ли настроить создание нового воркера после сегфолта?
  • Вопрос задан
  • 580 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы