$connection_time

$connection_time 变量返回与客户端建立连接所用的时间,单位为秒。 — NGINX Core (HTTP)

$connection_time NGINX Core (HTTP)

说明

$connection_time 变量在 NGINX 中记录从 NGINX 收到请求到与客户端建立连接所用的持续时间,单位为秒。该值在连接建立时确定,允许从 NGINX 服务器的角度测量延迟。该变量会在连接处理流程中更新,主要适用于与连接时间相关的日志记录或指标收集。在最佳情况下,常见值可能为不到一秒的若干分之一;在高延迟或连接问题的场景下,则可能为数秒或更长时间。 $connection_time 被设置的时机始于 NGINX 工作进程接受到来自客户端的新连接时,这对应于请求开始被处理的时刻。开发人员和管理员可以使用此变量来洞察性能特性,尤其是在监控 Web 服务器在各种网络条件或负载下的行为时。分析这些值有助于推断服务器的健康状况并识别与客户端连接相关的潜在性能瓶颈。

配置示例

log_format main '$remote_addr - $remote_user [$time_local] "$request" ' \
                    '$status $body_bytes_sent "$http_referer" ' \
                    '"$http_user_agent" "$http_x_forwarded_for" ' \
                    'Connection time: $connection_time';

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

子系统

http

可缓存

上下文

http, server, location, if

$connection_time 的值仅在已接受的连接上设置;它不计算连接建立之后的任何处理时间。

在发生代理的场景中,确保正确解读连接时间指标,因为它们可能无法准确表示客户端到服务器的连接时间。