$request_time

$request_time 包含处理请求所用的总时间,单位为秒,精确到毫秒。 — NGINX Core (HTTP)

$request_time NGINX Core (HTTP)

说明

$request_time 变量提供了在 NGINX 中处理客户端请求所用时间的精确测量。该变量在请求完成时计算,记录从接收请求到将响应返回给客户端的持续时间。具体来说,$request_time 以秒及其小数部分记录该时间,便于评估性能并排查应用中的延迟问题。 $request_time 的值在请求的处理阶段设置,即在 NGINX 发送响应之前。需要注意的是,记录的时间会受到多种因素的影响,包括网络延迟、服务器处理时间以及客户端行为(例如连接速度)。因此,$request_time 的典型值会因应用和服务器负载而大相径庭;它们可能从几毫秒到几秒不等,尤其在高流量或资源密集型操作中。

配置示例

log_format custom '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" request_time: $request_time';

access_log /var/log/nginx/access.log custom;

子系统

http

可缓存

上下文

http, server, location, if

请始终记住,如果使用持久连接,$request_time 不包括等待连接所花费的时间。

如果你的 NGINX 配置在每个连接上有多个请求(例如在 keep-alive 中),$request_time 仅反映最后一次响应的时间,而不是该连接的总时间。如果你需要后端的响应时间,请改用 $upstream_response_time。