logging需要很长时间渲染的PHP脚本

我想知道,我的服务器上的哪些页面非常慢。

是否有可能logging所有页面花费超过2秒在一个文件中呈现?

/var/log/php/php-slow.log 

或者可以将关于渲染时间的信息添加到apache-log-files?

假设你正在使用Apache; 看到这个堆栈溢出答案: 有没有办法让Apache日志缓慢的请求?

公然窃取bradym的回答(thankyou cc-wiki ):


看看http://httpd.apache.org/docs/2.2/mod/mod_log_config.html 。 您可以设置自定义日志,其中包括提供请求所用的时间。

例如:

 LogFormat "%h %l %u %t \"%r\" %>s %b %D" common-time 

将以微秒为单位添加时间作为日志文件的最后一个字段。

您可以将该行添加到您的httpd.conf中,然后在每个要使用它的虚拟主机中添加以下行:

 CustomLog logs/access_log_time common-time 

你也可以创build一个新的LogFormat,它只包含你想要的东西,也许就像这样:

 LogFormat "\"%r\" %D" measure-time 

在你的虚拟主机中,你可以有多个日志,所以你可以有:

 CustomLog logs/access_log common CustomLog logs/access_log_time measure-time 

所有这一切说,有一个巨大的警告 。 这将只测量服务器服务页面的时间。 这将不包括在浏览器中执行任何JavaScript的时间。 如果您需要测量JavaScript执行时间,则需要使用像萤火虫这样的工具。

获得日志之后,可以使用类似apachelog的内容来parsing日志文件,以仅获取比您想要使用的阈值更长的请求。

我不知道是否有可能只logging日志请求,并通过parsing步骤。 这可能是,但我有一种感觉,这将需要大量的工作。

只有FPM SAPI支持PHP缓慢日志logging 。