我已经运行了Varnish一段时间了,大约6个月前我添加了一台运行良好的Varnish 5.2服务器。
几周前,我们开始看到奇怪的“500内部服务器错误”,当查看较旧的报告时,他们建议服务器耗尽内部内存。
有人建议调整参数(我已尝试过)但我仍然会在错误中找到任何关于在哪里查看的建议?
艾伦
PS我看到的消费调整是:
-p workspace_client=160k \
-p workspace_backend=160k \
从默认的64k中提升工作区元素,我尝试了128k然后160k,但报告的偶然问题没有变化。
答案 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删除并注释掉了我用于调试的一些问题,但问题就消失了。