我试图通过在nginx中记录请求URL和$request_time
来找到PHP应用程序中的瓶颈。不幸的是,$request_time
包含网络滞后,我无法优化。我希望日志包含另一个具有纯页面生成时间的字段,因此我可以将其与$request_time
进行比较。
我认为对于慢速连接,nginx会快速获取php-fpm输出,然后等待客户端下载它。我可以用PHP测量生成时间,但是如何将它放入nginx访问日志?
答案 0 :(得分:2)
将您希望nginx的数据通过PHP登录到标题。
header('RequestTime', 1234);
要求nginx在nginx配置中记录标题的值。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $upstream_http_requesttime';
请注意,此值也将通过标头发送到客户端,因此额外标头中不应包含任何敏感性质。