使用Varnish在CLOSE_WAIT状态下存在大量连接

时间:2014-12-02 11:00:30

标签: tcp linux-kernel varnish

我遇到了一些奇怪的清漆问题,大量的连接卡在CLOSE_WAIT状态,就像清漆没有关闭连接一样。

这让我认为内核正在等待varnish来关闭连接,考虑到这一点,从我的角度来看,它可能是varnish中的bug或者是内核。

虽然在深入研究清漆代码之前,我想了解你的观点,并知道这种症状是否可能由其他任何参数引起?

显然,如果您遇到过这个问题并且有解决方案,那将会更有帮助。

供参考:

# netstat -pan|grep varnish|awk '/tcp/ {print $6}'|sort|uniq -c
  35902 CLOSE_WAIT
  12148 ESTABLISHED
      3 LISTEN

1 个答案:

答案 0 :(得分:2)

您应该检查它们是否在客户端清漆侧或清漆⇄后端,可能它们位于后端,至少是我的情况。

根据Connections to backend not closing

  

这实际上是每个设计,清漆保持后端连接   如果他们看起来像是可以重复使用,只有在它重新审视时才能重复使用   试图重复使用它们,所以它们可能会徘徊一段时间   清漆发现它们已被后端关闭。

     

除了插座周围,它是无害的。

我还会检查你的后端是否正在不必要地关闭连接,keepalive(如果你能够使用它)是非常有帮助的。最后,检查varnishstat -1 |grep backend的输出以查看varnish是否能够重用后端连接(backend_reuse)以及是否已注意到它们已关闭(backend_toolate)。值应为backend_reuse + backend_toolatebackend_recycle