nginx反向代理后端服务器长连接开启优化记录
问题
APP调用我方一json行情接口,请求量较大,经观测发现后端服务器 TIME_WAIT 量达到6万多,ESTABLISHED量却只有100多,经分析可能是nginx至后端服务器未开启长连接导致。
优化
- nginx调整开启 http1.1支持
# upstream配置增加
keepalive 300;
# server部分配置增加
proxy_http_version 1.1;
proxy_set_header Connection ""
- 后端应用配置支持 http1.1
通过抓包分析,可看到nginx与后端服务器建立一次连接,多次请求交互现象。
优化结果
经观察,优化后 TIME_WAIT 数量控制在300以内,比较正常,主机CPU资源使用下降明显。