$tcpinfo_rttvar

$tcpinfo_rttvar 变量以微秒为单位返回 TCP 连接的 RTT 方差。 — NGINX Core (HTTP)

$tcpinfo_rttvar NGINX Core (HTTP)

说明

$tcpinfo_rttvar 变量在 NGINX 中用于提供与 TCP 连接延迟稳定性相关的诊断信息,通过指示往返时延(RTT)的方差来体现。该度量来源于 TCP 协议栈的信息,具体是测量通过 TCP 连接发送的数据包所观察到的 RTT 的方差。当客户端发送请求时,NGINX 会捕获该会话的 TCP 信息,其中包括底层操作系统的 TCP 协议栈报告的 RTT 值。 通常,$tcpinfo_rttvar 只有在完成 TCP 握手之后才可用,在性能调优和监控场景中尤其有用。典型数值会根据网络状况和流量特性有显著差异;较低的值表示网络延迟更稳定且一致,而较高的值反映出不稳定性。因此,监控此变量有助于诊断影响应用性能和用户体验的网络相关问题。 当 NGINX 在适用 TCP 指标的场景下通过 TCP 连接处理请求时,通常会设置此变量。你可以在多种上下文中利用其值,例如日志记录或条件配置,根据请求期间观察到的 RTT 方差来实施定制优化。

配置示例

log_format my_logging_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $tcpinfo_rttvar';

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

子系统

http

可缓存

上下文

http, server, location, if

$tcpinfo_rttvar 仅在 TCP 连接中可用,对 UDP 无效。

如果未看到预期值,请确保在 OS 设置中启用 TCP 信息检索。

这些值仅在 TCP 握手之后可用;在请求处理过程中过早访问该变量可能会得到空结果。