识别长时间运行或缓慢的PHP脚本

我有一个Web服务器,每天在yougetsignal.com上访问约25K次。 有时候这个网站感觉有点呆滞。 我用php5-fpm在nginx上托pipe它。 有没有办法让我看到所有来到网站的长时间运行的请求的列表?

我很乐意获得PHP正在处理的所有活动请求的实时列表,以及它们运行的​​时间。 有点像顶级,但只是为Web服务器。 这会让我知道要求多久,哪个脚本是罪魁祸首。

任何人有什么想法,我怎么能做到这一点?

在您的PHP-FPMconfiguration文件中,对于池定义,您可以启用“慢日志”,以提供有关长时间运行的PHP脚本的更多信息:

; The log file for slow requests ; Default Value: not set ; Note: slowlog is mandatory if request_slowlog_timeout is set ;slowlog = log/$pool.log.slow ; The timeout for serving a single request after which a PHP backtrace will be ; dumped to the 'slowlog' file. A value of '0s' means 'off'. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0 ;request_slowlog_timeout = 0 

取消注释slowlog并设置为一个有效的文件名,取消注释request_slowlog_timeout并设置为10秒或任何你认为太长的值,然后重新加载/重新启动PHP-FPM。