@xaseros

Почему php5-fpm плодит процессы и не отвечает на запросы фронтенда?

Здравствуйте.

Есть довольно мощный сервер (выделенный, 4-ядра ксеон, 32 памяти, SSD). На котором по не понятной причине перестает работать php-fpm. В какое-то время он просто перестает отвечать на запросы, а в процессах висит куча его пулов.

root     17085  0.0  0.0 333852 20156 ?        Ss   Aug12   0:12 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)                    
www-data 25473  0.0  0.0 859832 26180 ?        Sl   07:30   0:00 php-fpm: pool www                                                       
www-data 25474  0.0  0.0 856492 19976 ?        Sl   07:30   0:00 php-fpm: pool www                                                       
www-data 25477  0.0  0.0 855764 21748 ?        Sl   07:30   0:00 php-fpm: pool www                                                       
www-data 25479  0.0  0.0 855688 20408 ?        Sl   07:30   0:00 php-fpm: pool www                                                       
www-data 25485  0.0  0.0 854708 20112 ?        Sl   07:31   0:00 php-fpm: pool www

и таких 202 штуки.

В логах кроме ошибок nginx ничего нету (php5-fpm лог чистый)

2015/08/14 09:00:11 [error] 17824#0: *596666 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 180.153.182.101, server: example.ru, request: "GET /ballu/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:8888", host: "www.example.ru", referrer: "http://www.example.ru/ballu/"
2015/08/14 09:13:42 [error] 17822#0: *596916 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 80.251.228.162, server: example.ru, request: "GET /100053721/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:8888", host: "www.example.ru"


и все в таком духе

конфиг /etc/php5/fpm/pool.d/www.conf (коменты удалены)
[www]
user = www-data
group = www-data
listen = 127.0.0.1:8888; 
pm = dynamic
pm.max_children = 200
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 10 
access.log = /var/log/php5-fpm/$pool.access.log 
chdir = /
security.limit_extensions = .php


конфиг /etc/php5/fpm/php-fpm.conf (коменты удалены)
[global]
pid = /run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
log_level = debug
emergency_restart_threshold = 8
emergency_restart_interval = 60
process_control_timeout = 10  
include=/etc/php5/fpm/pool.d/*.conf


До недавнего времени, работал на сокетах. Но поскольку проблема проявляется стабильно, попробовал перевести на порты. Результата нет. Не могу понять в чем проблема.
  • Вопрос задан
  • 567 просмотров
Решения вопроса 1
sim3x
@sim3x
serverfault.com/questions/344538/php-fpms-chroot-a...

или сделай chroot или сделай правильно chdir

Не используй на нагруженном проекте pm = dynamic - больше времени будет уходить на создание потоков, чем на обработку
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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