You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx优化时遇到的$connection_time变量的含义是什么?

Nginx $connection_time 变量含义及与$request_time的差异说明

1. $connection_time基础定义

官方给出的定义如下:

connection_time:连接时长,单位为秒,精度到毫秒,Nginx 1.19.10及以上版本支持。
这个变量统计的是从TCP连接与客户端建立成功的时刻开始,到该连接完全关闭的时刻为止的总时长。

2. 为什么$connection_time始终大于$request_time

首先要明确$request_time的统计逻辑:它统计的是单个HTTP请求的处理时长,从Nginx接收到客户端发送的第一个请求字节开始,到Nginx把该请求的全部响应数据发送给客户端为止的时长。
两者数值差异的核心原因是统计范围不同,具体场景包括:

  • 长连接(keepalive)场景下,同一个TCP连接会被复用处理多个HTTP请求,$connection_time统计的是整个连接从创建到销毁的全周期时长,会覆盖多个请求的$request_time以及请求之间的空闲等待时间,自然远大于单个请求的$request_time
  • 即便是短连接场景,TCP三次握手完成后到客户端发送第一个请求字节的间隔时间、请求处理完成后到连接正式关闭的收尾时间,都会被计入$connection_time,但这两段时间不会被计入$request_time
  • 部分特殊场景下客户端建立连接后长时间不发送请求,这段空闲时长也会被全部计入$connection_time,此时两者的数值差会更大

内容的提问来源于stack exchange,提问作者Guan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:48:02