Nginx 可以记录 PHP 脚本的执行时间吗

Nginx 可以记录 PHP 脚本的执行时间吗

我遇到了一些问题,客户报告我们的一些网页运行缓慢。这可能出于多种原因,但我想专门记录每个页面的执行时间,而不必在每个 PHP 脚本的页眉和页脚中添加任何内容。有哪些选项?(如果有所不同,我们正在运行 Nginx Web 服务器和 PHP-FPM)

答案1

您可以使用$upstream_response_time它来log_format记录 PHP-FPM 在请求上花费的时间。

答案2

或者(另外?),您可以启用 FPM 访问日志并将其配置为存储请求时间和其他数据。

然后,您将能够比较 nginx 和 FPM 报告的时间并查看端点之间是否存在延迟。

https://www.php.net/manual/en/install.fpm.configuration.php#access-format并特别评论https://www.php.net/manual/en/install.fpm.configuration.php#126422

例子:

access.format = "%R - %u [%t] \"%m %r%Q%q\" %s %f (%{mili}d) %{kilo}M %C%%"

将为您提供与 Apache/nginx 非常相似的日志。

相关内容