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

3
我已经运行Varnish有一段时间了,大约6个月前我添加了一个Varnish 5.2服务器,一直运行得很完美。
几周前,我们开始看到奇怪的“500内部服务器错误”,并且在查看旧报告时,它们表明是服务器内存不足。
有建议调整参数(我已经尝试过),但我仍然收到错误提示,请问还有哪些地方需要检查?
艾伦
PS 我看到的建议调整是:
         -p workspace_client=160k \
         -p workspace_backend=160k \

我将默认的工作区元素从64k增加到了128k,然后又试了160k,但报告的偶发问题没有改变。

2个回答

3
您可以通过http_max_hdr选项控制Varnish允许的“最大HTTP头行数”。默认值为64,而在我的情况下,将其设置为128或256解决了我的问题。请注意,由于某种原因,该值需要以2的幂设置,因此将其设置为100或150将不允许Varnish重新启动。 https://varnish-cache.org/docs/4.1/reference/varnishd.html#http-max-hdr

0

经过一番尝试和查看Varnish日志:

sudo /usr/local/bin/varnishlog -n -q 'RespStatus 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,删除和注释掉其中一些我用于调试的部分后,问题消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接