nginx 与 Varnish 的连接

nginx 与 Varnish 的连接

我使用 nginx 作为反向代理,并在后台使用 varnish。我有 LAMP 为 varnish 提供动力。我在 Varnish 服务器上看到的问题是,每次处理请求时都会建立来自 nginx 的连接。

我们每秒处理的请求超过 300 个,我们看到类似这样的情况:

netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
      2 ESTABLISHED
      1 FIN_WAIT1
      7 LISTEN
      1 SYN_RECV
  43187 TIME_WAIT

这当然是不可取的。最好的办法是,我们在 nginx 和 varnish 之间设置一个隧道或连接,所有通信都通过该静态连接进行。我不太清楚具体该怎么做,或者是否有更好的方法。

我还能在这里做什么?

谢谢

答案1

Nginx 仅支持其自身与后端服务器之间的 HTTP/1.0,因此默认情况下没有 HTTP 保持连接 :(

有很多奇怪而又奇妙的第三方模块可能会有所帮助,但到目前为止,我只发现对 memcache 和 redis 的 keepalive 支持,没有 HTTP

相关内容