对于PHP-FPM,“活动进程”是否可以大于“max_children”

时间:2018-02-24 10:00:40

标签: php

将max_children设置为静态池为5我希望度量标准“活动进程”为5或更低。发送10个并发请求的“活动进程”报告将超过5个(例如10,12,25,......)。

这是有效行为吗?

游泳池配置:

# grep -v ";" /usr/local/etc/php-fpm.d/www.conf | grep -Ev "^$"
[www]
user = www-data
group = www-data
listen = 127.0.0.1:9000
pm = static
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.process_idle_timeout = 10s
pm.max_requests = 500
pm.status_path = /status
ping.response = pong
slowlog = log/$pool.log.slow
request_slowlog_timeout = 0
request_terminate_timeout = 0

预期结果: 来自/ status的度量“活动进程”应低于5。

实际结果: 来自/ status的度量标准“活动进程”高于5。

1 个答案:

答案 0 :(得分:-1)

根据PHP FPM文档,当pm设置为static时,唯一确定子进程数的设置是pm.max_children。如您所料,应该确定起始和最大数量。

要考虑的几件事:

  1. 更改配置后,是否重新启动了PHP-FPM和NGINX?像这样:
  

sudo服务php-fpm5重新启动
  sudo服务nginx重新启动

  1. 是否有可能您更改了错误的配置文件(也许路径错误?)。您可以尝试更改其他值,并确认它正在按预期影响Web服务器。
  2. 是否有可能配置了多个池,并且/status页正在为您提供多个池的报告。