我遇到了一些奇怪的清漆问题,大量的连接卡在CLOSE_WAIT
状态,就像清漆没有关闭连接一样。
这让我认为内核正在等待varnish来关闭连接,考虑到这一点,从我的角度来看,它可能是varnish中的bug或者是内核。
虽然在深入研究清漆代码之前,我想了解你的观点,并知道这种症状是否可能由其他任何参数引起?
显然,如果您遇到过这个问题并且有解决方案,那将会更有帮助。
供参考:
# netstat -pan|grep varnish|awk '/tcp/ {print $6}'|sort|uniq -c
35902 CLOSE_WAIT
12148 ESTABLISHED
3 LISTEN
答案 0 :(得分:2)
您应该检查它们是否在客户端清漆侧或清漆⇄后端,可能它们位于后端,至少是我的情况。
根据Connections to backend not closing:
这实际上是每个设计,清漆保持后端连接 如果他们看起来像是可以重复使用,只有在它重新审视时才能重复使用 试图重复使用它们,所以它们可能会徘徊一段时间 清漆发现它们已被后端关闭。
除了插座周围,它是无害的。
我还会检查你的后端是否正在不必要地关闭连接,keepalive(如果你能够使用它)是非常有帮助的。最后,检查varnishstat -1 |grep backend
的输出以查看varnish是否能够重用后端连接(backend_reuse
)以及是否已注意到它们已关闭(backend_toolate
)。值应为backend_reuse
+ backend_toolate
≅backend_recycle
。