Здравствуйте.
Суть проблемы заключается в том, что по какой-то причине fpm не подхватывает некоторые опции, установленные для пула.
И это при том, что конфигурация pm имеет следующий вид:
pm = dynamic
pm.max_children = 500
pm.start_servers = 50
pm.min_spare_servers = 30
pm.max_spare_servers = 150
Судя по логам, fpm сбрасывает значение 500 в 300? В режиме debug ничего не написано об этом.
Так же есть еще проблема, которая возможно связана с вышеуказанной.
По какой-то причине процессы все время валятся с такими записями (режим debug):
[18-Nov-2013 13:35:49.144928] DEBUG: pid 25005, fpm_got_signal(), line 76: received SIGCHLD
[18-Nov-2013 13:35:49.144987] NOTICE: pid 25005, fpm_children_bury(), line 252: [pool sitepool] child 25238 exited with code 0 after 0.003081 seconds from start
[18-Nov-2013 13:35:49.145669] NOTICE: pid 25005, fpm_children_make(), line 421: [pool sitepool] child 25239 started
[18-Nov-2013 13:35:49.145689] DEBUG: pid 25005, fpm_event_loop(), line 419: event module triggered 1 events
[18-Nov-2013 13:35:49.148980] DEBUG: pid 25005, fpm_got_signal(), line 76: received SIGCHLD
[18-Nov-2013 13:35:49.149034] NOTICE: pid 25005, fpm_children_bury(), line 252: [pool sitepool] child 25239 exited with code 0 after 0.003374 seconds from start
[18-Nov-2013 13:35:49.149683] NOTICE: pid 25005, fpm_children_make(), line 421: [pool sitepool] child 25240 started
[18-Nov-2013 13:35:49.149703] DEBUG: pid 25005, fpm_event_loop(), line 419: event module triggered 1 events
[18-Nov-2013 13:35:49.153028] DEBUG: pid 25005, fpm_got_signal(), line 76: received SIGCHLD
[18-Nov-2013 13:35:49.153080] NOTICE: pid 25005, fpm_children_bury(), line 252: [pool sitepool] child 25240 exited with code 0 after 0.003403 seconds from start
[18-Nov-2013 13:35:49.153904] NOTICE: pid 25005, fpm_children_make(), line 421: [pool sitepool] child 25241 started
[18-Nov-2013 13:35:49.153940] DEBUG: pid 25005, fpm_event_loop(), line 419: event module triggered 1 events
[18-Nov-2013 13:35:49.737577] DEBUG: pid 25005, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool sitepool] currently 6 active children, 44 spare children, 50 running children. Spawning rate 1
По этим записям есть 2 вопроса:
1) Почему процессы вообще валятся, если "pm.max_requests = 0"? На сколько я помню, в версии php 5.4 такого небыло.
2) Почему такое малькое время выполнения работы ("0.003374 seconds from start")?
Вот весь конфиг пула:
[sitepool]
user = apache
group = apache
listen = /var/run/php-fpm/sitepool.sock
listen.backlog = 1024
pm = dynamic
pm.max_children = 500
pm.start_servers = 50
pm.min_spare_servers = 30
pm.max_spare_servers = 150
pm.max_requests = 0
env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/sbin
php_admin_value[register_globals] = off
php_admin_value[session.name] = STATPHPSESSIONID
Есть ли какие-то мысли по этой теме?