Глядя на мою страницу статистики PHP-FPM, похоже, что сейчас только один процесс обрабатывает все соединения.
Я предполагаю, что запросы выполняются настолько быстро, что пока нет необходимости использовать другой процесс. Было бы так?
Вот что я вижу на своей странице статистики PHP-FPM:
pool www
process manager static
start since 432796
accepted conn 90399
listen queue 0
max listen queue 1
listen queue len 128
idle processes 63
active processes 1
total processes 64
max active processes 6
max children reached 0
Вот как выглядит моя конфигурация PHP-FPM:
[General]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm.log
syslog.ident = php-fpm
syslog.facility = 24
log_level = unknown value
emergency_restart_interval = 0s
emergency_restart_threshold = 0
process_control_timeout = 0s
process.max = 0
process.priority = undefined
daemonize = yes
rlimit_files = 30000
rlimit_core = 0
events.mechanism = epoll
[www]
prefix = undefined
user = www-data
group = www-data
listen = 127.0.0.1:9000
listen.backlog = 128
listen.owner = undefined
listen.group = undefined
listen.mode = undefined
listen.allowed_clients = 127.0.0.1
process.priority = undefined
pm = static
pm.max_children = 64
pm.start_servers = 8
pm.min_spare_servers = 4
pm.max_spare_servers = 10
pm.process_idle_timeout = 10
pm.max_requests = 12800
pm.status_path = /fpm
ping.path = undefined
ping.response = undefined
access.log = undefined
access.format = undefined
slowlog = /var/log/www.log.slow
request_slowlog_timeout = 5s
request_terminate_timeout = 120s
rlimit_files = 30000
rlimit_core = 0
chroot = undefined
chdir = /
catch_workers_output = yes
security.limit_extensions = .php .phar
Почему PHP-FPM использует только один процесс?
Потому что ... 1 достаточно. Но это не значит, что количество активных процессов всегда равно 1.
Разделите терминал на 2 региона: в первом типе:
$ watch 'lynx -dump http://domain.com/fpm'
а во втором попробуйте что-то вроде этого:
$ ab -c 1000 -n 10000 http://domain.com/fpm
затем посмотрите, что происходит в первом регионе:
pool: www
process manager: dynamic
start time: 04/Sep/2012:23:19:24 +0700
start since: 3441
accepted conn: 42296
listen queue: 0
max listen queue: 8
listen queue len: 128
idle processes: 18
active processes: 3
total processes: 21
max active processes: 21
max children reached: 0