$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 握手之后可用;在请求处理过程中过早访问该变量可能会得到空结果。