如何检查当前的 pm.max_children 设置?

The*_*heo 6 php php-fpm php7

我在/opt/plesk/php/7.0/etc/php-fpm.d/domain.com.conf文件中修改了 pm.max_children 。

我重新启动了 php70-fpm 服务,想检查我的设置是否启用。

如何检查此设置?

iiz*_*zno 3

如果您只想知道当前有多少个工作进程正在运行,您可以尝试使用 HTOP,使用“php-fpm”执行 htop 和过滤器(F4)。

或者用ps

ps aux | grep "php-fpm: pool"
Run Code Online (Sandbox Code Playgroud)

如果您想要精确的技术信息,您可以使用 fpm 状态页面:

将其添加到您的池配置中:

pm.status_path = /status
Run Code Online (Sandbox Code Playgroud)

然后在你的 nginx 配置中:(适应你的配置)

location ~ ^/(status|ping)$ {
     access_log off;
     allow 127.0.0.1;
     allow 10.10.10.10#your-ip;
     deny all;
     include fastcgi_params;
     fastcgi_pass 127.0.0.1:9000;
}
Run Code Online (Sandbox Code Playgroud)

然后您可以使用 CURL 进行查询:

 curl http://localhost/status
Run Code Online (Sandbox Code Playgroud)

这给了你类似的东西:

pool:                 www
process manager:      dynamic
start time:           01/Mar/2019:15:16:10 +0100
start since:          2551
accepted conn:        7843
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       8
active processes:     2
total processes:      10
max active processes: 10
max children reached: 0
Run Code Online (Sandbox Code Playgroud)

更多信息/来源:https ://easyengine.io/tutorials/php/fpm-status-page

  • 根据默认 php-fpm `.conf` 文件中的注释:`max active paths - 自 FPM 启动以来的最大活动进程数` - 所以这个答案是不正确的 (4认同)
  • 我只能看到当前正在运行的 php-fpm 进程,但看不到最大值是多少。 (2认同)