PHP探针不提供并发连接数监控,需通过Apache的mod_status、Nginx的stub_status、ss/netstat命令或PHP-FPM状态页分别查看Web服务器、系统网络层及PHP进程池的并发数据。

PHP探针本身不提供并发连接数监控
PHP探针(如 phpinfo.php 或各类开源探针脚本)主要展示 PHP 运行环境信息:版本、扩展、php.ini 配置、服务器变量等,**不采集也不显示当前并发连接数**。它不是监控工具,没有实时连接状态感知能力。
想查并发连接数,必须绕过探针,直接看 Web 服务器或操作系统层面的数据。
Apache 下查看当前并发请求数(mod_status)
启用 Apache 的 mod_status 模块后,可通过内置状态页看到活跃连接数。需确保:
-
LoadModule status_module modules/mod_status.so已启用 -
ExtendedStatus On在配置中开启(否则只显示简略统计) -
有对应访问控制(如仅限本地)
访问 http://your-site/server-status?auto(加 ?auto 返回纯文本),关键字段包括:
立即学习“PHP免费学习笔记(深入)”;
BusyWorkers: 12 IdleWorkers: 23 Total Accesses: 45678 Total kBytes: 123456
BusyWorkers 即当前正在处理请求的子进程/线程数,可近似视为并发请求数(注意:非 TCP 连接总数,而是 Apache 正在服务的请求量)。
Nginx 下通过 stub_status 查活跃连接
Nginx 需编译时启用 --with-http_stub_status_module(主流发行版通常已包含),并在 server 块中配置:
location /nginx-status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
访问 http://localhost/nginx-status,返回类似:
Active connections: 32 server accepts handled requests 45678 45678 91234 Reading: 0 Writing: 2 Waiting: 30
Active connections 是 Nginx 当前持有的所有 TCP 连接数(含 keep-alive 空闲连接);Writing 表示正向客户端发送响应的连接数,更接近“真正并发处理中”的请求。
Linux 系统级:用 ss 或 netstat 统计 PHP-FPM 相关连接
如果 PHP 以 FPM 方式运行,真正的并发瓶颈常在 php-fpm 进程池。此时应查监听端口(如 127.0.0.1:9000 或 socket 文件)的 ESTABLISHED 连接数:
- 查 TCP 连接:
ss -tn state established '( dport = :9000 )' | wc -l - 查 Unix socket 连接(较难直接统计,需结合
lsof -U | grep php-fpm观察 fd 数量) - 查 FPM 自身状态页(需开启
pm.status_path = /status并配置 location,返回中active processes表示当前忙碌 worker 数)
注意:ss 比 netstat 更轻量、更准确,尤其在高并发下;ESTABLISHED 连接数 ≠ 并发请求数,因为一个连接可能承载多个 FastCGI 请求(取决于 keepalive 设置)。
真正要盯住的,并发指标分散在 Web 服务器、PHP-FPM 和内核网络栈三层,PHP探针连其中任何一层的实时连接数据都拿不到。别在探针页面里找“并发数”入口了——那地方根本没这个字段。











