为什么查询字符串没有出现在 PHP-FPM 状态页面中?

为什么查询字符串没有出现在 PHP-FPM 状态页面中?

我已启用 PHP-FPM 状态页面并重新配置nginx以显示它。有问题的网站是一个 drupal 网站,其中 URL 被重写,因此所有不存在的文件的 URL 都被重写为/index.php?q=<whatever>如果我使用访问状态页面本身,?full我可以看到查询字符串显示在进程列表中,但当我导航到网站上的页面时,我期望看到与上述类似的内容,但却得到:

pool:                 www
process manager:      dynamic
start time:           14/Dec/2017:17:06:53 -0500
start since:          16631
accepted conn:        26
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       2
active processes:     1
total processes:      3
max active processes: 2
max children reached: 0
slow requests:        0

************************
pid:                  65
state:                Idle
start time:           14/Dec/2017:17:06:53 -0500
start since:          16631
requests:             9
request duration:     347524
request method:       GET
request URI:          /index.php
content length:       0
user:                 -
script:               /var/www/html/index.php
last request cpu:     92.08
last request memory:  10485760

************************
pid:                  66
state:                Running
start time:           14/Dec/2017:17:06:53 -0500
start since:          16631
requests:             9
request duration:     211
request method:       GET
request URI:          /status?full
content length:       0
user:                 -
script:               -
last request cpu:     0.00
last request memory:  0

************************
pid:                  8924
state:                Idle
start time:           14/Dec/2017:21:41:04 -0500
start since:          180
requests:             8
request duration:     349676
request method:       GET
request URI:          /index.php
content length:       0
user:                 -
script:               /var/www/html/index.php
last request cpu:     85.79
last request memory:  35651584

有没有办法让查询字符串在重写后继续存在,或者是否有其他工具可以确定哪个 PHP 请求可能消耗 CPU 时间?我基本上是想跟踪消耗 CPU 的 PID 到特定请求,如果需要这样做以进行故障排除。

相关内容