Varnish 5.2开始报告“500内部服务器错误”

时间:2017-12-11 18:15:50

标签: varnish varnish-vcl

我已经运行了Varnish一段时间了,大约6个月前我添加了一台运行良好的Varnish 5.2服务器。

几周前,我们开始看到奇怪的“500内部服务器错误”,当查看较旧的报告时,他们建议服务器耗尽内部内存。

有人建议调整参数(我已尝试过)但我仍然会在错误中找到任何关于在哪里查看的建议?

艾伦

PS我看到的消费调整是:

         -p workspace_client=160k \
         -p workspace_backend=160k \

从默认的64k中提升工作区元素,我尝试了128k然后160k,但报告的偶然问题没有变化。

2 个答案:

答案 0 :(得分:1)

您可以通过http_max_hdr选项控制“ HTTP标头行的最大数量”。默认值为64,就我而言,将其设置为128或256解决了我的问题。请注意,由于某种原因,该值必须设置为2的幂,因此将其设置为100或150不会重新启动清漆。

https://varnish-cache.org/docs/4.1/reference/varnishd.html#http-max-hdr

答案 1 :(得分:0)

经过多次播放并查看清漆日志:

sudo / usr / local / bin / varnishlog -n -q'ResStStatus eq 500'

我看到了错误:

-   RespHeader     X-1-SM-None: None
-   LostHeader     X-1-ServerTXT: Live One
-   Error          out of workspace (req)
-   LostHeader     X-1-Cache: MISS
-   Error          out of workspace (Req)
-   VCL_return     deliver
-   Timestamp      Process: 1513078776.040695 0.419343 0.000086
-   Error          out of workspace (Req)
-   LostHeader     Accept-Ranges: bytes
-   LostHeader     Connection: keep-alive
-   Error          out of workspace (Req)
-   Error          workspace_client overflow
-   RespProtocol   HTTP/1.1
-   RespStatus     500
-   RespReason     Internal Server Error

意识到vcl_deliver中有太多的resp.http删除并注释掉了我用于调试的一些问题,但问题就消失了。