为了应付大量用户请求,我们的网站加入了Varnish作为中间Cache。上线后使用varnishstat查看client_conn比client_req高很多,导致varnish产生大量TIME_WAIT。开始以为是Nginx没有开启keep-alive的原因,开启后继续观察了一段时间效果不是很明显。通过varnishlog查看发现http 1.0的链接为Connection 为close。查阅nginx官方ngx_http_upstream_module模块文档,官方建议proxy_http_version指令应该设置为“1.1”,同时清空“Connection”头的值。
开启前后连接对比图
参考链接:http://nginx.org/cn/docs/http/ngx_http_upstream_module.html#keepalive
时间: 2024-11-10 13:20:18