有时,我们的 varnish 守护进程会停止响应,必须重新启动。在重新启动它之前,我使用以下命令将共享内存段的内容转储到磁盘:
varnishlog -w /tmp/blah.log
当我稍后查看日志的内容时,它几乎完全由如下所示的行组成(总共约 1380 行,约 1350 行):
0 WorkThread - 0x48302cf0 start
这是否在告诉我什么?以前,我们遇到过机器人阻碍与 Apache 的后端连接并导致类似挂起的问题,但在这种情况下,Apache 日志是干净的。
答案1
例如,它可能在告诉您它尝试获取某个对象,但获取时间太长。除此之外,仅凭这一行很难说什么。
根据要求添加答案:)谢谢!
答案2
看起来这可能是清漆线程中的竞争条件。
(因为它是一个使用 IPC 结构(shm)的守护进程,所以您可以使用“ipcs”命令查看共享内存是否发生了一些奇怪的事情)