为了应付大量用户请求,咱们的网站加入了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”头的值。html
开启先后链接对比图nginx
参考连接:http://nginx.org/cn/docs/http/ngx_http_upstream_module.html#keepalive网站