keepalive_timeout本身不提升单次响应速度,而是通过控制空闲连接等待时长影响复用率与资源回收:API场景建议15–25秒(纯接口)、30–45秒(混合型)、5–10秒(实时类),需同步调优keepalive_requests、upstream keepalive及客户端超时对齐。
keepalive_timeout 本身不直接影响 API 接口的单次响应速度,但它决定连接能否复用、何时被回收——这对高并发下整体吞吐、延迟稳定性与错误率有实质性影响。优化目标不是让单个请求更快,而是减少握手开销、避免连接挤占、防止资源耗尽导致的 502/503。
移动端 App 或微服务调用场景下,用户行为不连续、网络易中断,长连接复用率远低于网页浏览:
单独改 keepalive_timeout 效果有限,需组合生效:
keepalive 32; + proxy_http_version 1.1; + proxy_set_header Connection '';,否则 Nginx 到后端仍是短连,前端优化无意义不能只看配置文件,要观察真实连接行为:
ss -tn state established | grep :443 | wc -l 查高峰期 ESTAB 数,若持续 > worker_connections × 0.8,说明空闲连接未及时释放Keep-Alive: timeout=25,确认 Nginx 正确透出设置值$request_time 与 $upstream_response_time 差值大的请求——若大量请求 request_time ≫ upstream_response_time,说明连接在空闲等待中被误杀或复用失败Nginx 的 keepalive_timeout 必须 略小于客户端 SDK 或负载均衡器的对应值: