lingering_time

NGINX 中的 'lingering_time' 指令指定在关闭连接之前等待请求的时间。 — NGINX HTTP Core

lingering_time
httpserverlocation
语法lingering_time seconds;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

'lingering_time' 指令用于控制 NGINX 在断开连接之前会等待客户端发起后续请求的时间长短,为接收延迟到达的请求提供一个宽限期,从而改善用户体验。此功能在客户端可能在前一个请求刚被接收后立即发送附加请求的情况下尤其有用。'lingering_time' 的参数以秒为单位,决定了该等待期的持续时间。 当客户端关闭连接(例如,浏览器选项卡关闭)时,如果设置了该指令,NGINX 仍可在指定的 'lingering_time' 内保持连接打开。在此期间,如果从同一客户端收到另一个请求,NGINX 可以在不重新建立连接的情况下处理该请求,从而提升响应速度并减少资源消耗。该指令在高流量环境中很有用,因为可维持的连接能降低延迟并提升整体性能。

配置示例

http {
    lingering_time 10;
    server {
        listen 80;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }
}

将 'lingering_time' 设置得过高可能导致资源耗尽,因为连接会比必要的保持打开时间更长,从而影响服务器性能。

如果设置不当,客户端可能会因服务器资源限制而遭遇连接被突然终止。

此指令在 HTTP/2 连接上可能效果较差,因为它们有自己独立的连接管理机制。