我想知道,我的服务器上的哪些页面非常慢。
是否有可能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 。