记录需要很长时间才能呈现的 PHP 脚本

记录需要很长时间才能呈现的 PHP 脚本

我想知道我的服务器上哪些页面真的很慢。

是否可以将所有渲染时间超过 2 秒的页面记录到一个文件中?

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

或者可以将有关渲染所花费时间的信息添加到 apache-log-files 中吗?

答案1

假设您正在使用 Apache;请参阅此 Stack Overflow 答案:有没有办法让 Apache 记录慢速请求?

公然偷窃 布雷迪姆的回答(谢谢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

您还可以创建一个仅包含您想要的内容的新 LogFormat,可能如下所示:

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

在您的虚拟主机中,您可以有多个日志,因此您可以拥有:

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

尽管如此,巨大的警告。这将仅测量服务器提供页面所需的时间。它将不会包括在浏览器中执行任何 javascript 所需的时间。如果您需要测量 javascript 执行时间,则需要使用类似萤火虫

获得日志后,你可以使用类似Apache日志解析日志文件以仅获取花费时间超过您想要使用的阈值的请求。

我不确定是否可以只记录日志请求并绕过解析步骤。也许可以,但我觉得这需要大量工作。

答案2

相关内容