到上游的连接复用
网关到引擎启用连接复用:上游配置保持一定数量的长连接,并在转发时清空连接头,可以减少每次请求建立连接的开销,高并发下对尾延迟有实际收益。漏掉其中任何一步,复用都不会真正生效。
基本信息
| 适用平台 | Nginx 网关到推理服务 |
|---|---|
| 配置要点 | 上游连接池大小与连接头处理 |
| 数量估算 | 按并发量与实例数评估 |
| 协议要求 | 转发使用 1.1 版本才支持复用 |
完整片段
完整片段
upstream llm {
server 127.0.0.1:8000;
keepalive 64;
}
location /v1/ {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_pass http://llm;
}典型使用场景
- 高并发服务:减少连接建立带来的尾部开销
- 持续流量:长连接场景下收益更稳定
- 容量调整:连接池大小随并发与实例数调整
- 效果核对:从连接数与端口占用确认长连接真的建起来了
- 变更回归:调整连接池后重跑并发压测,确认尾延迟确实改善
配置项与常见错误
| 配置项 | 作用 | 常见错误 |
|---|---|---|
| 连接池大小 | 保持的空闲连接数 | 设得过小,等于没有复用 |
| 连接头处理 | 避免每次请求关闭连接 | 漏掉这一步,配置形同虚设 |
| 协议版本 | 决定是否支持复用 | 沿用默认版本时无法复用 |
连接池数量按并发与实例数估算:过小无感,过大则两侧都多占资源。
配置完成后核对生效状态:从连接数与端口占用上确认长连接确实建立。
上游实例重启会断掉池中连接:排障时把这一点考虑进去,避免误判成网络故障。
复用生效后连接数会明显下降:把这个现象当作验证手段,比只看配置更可靠。
网关与上游都要设空闲超时:一侧提前关闭而另一侧还在复用,会出现偶发的请求失败。
长连接要和负载均衡一起看:连接池会让流量固定落在少数实例上,权重调整的效果会被削弱。