浏览文章

文章信息

Magento2 Varnish配置一段时间后Error 503 Service Unavailable问题解决varnish 503 12510

Error 503 Service Unavailable

Service Unavailable

Guru Meditation:

XID: 426360


Varnish cache server

当出现这个情况我们运行日志查看

varnishlog

刷新网页找到对应XID: 426360的日志记录

发现以下问题

-   VCL_call       HIT

-   VCL_return     restart

-   VCL_Error      Too many restarts

意思是varnish多次重启;

可能的原因是重定向链接太多,每次重定向占用一定的内存,导致内存不足,请求无法命中缓存。


因此我们的解决是在default.vcl规则文件中添加以下内容

if (req.restarts > 0) {
        set req.hash_always_miss = true;
    }

sub vcl_recv {
    if (req.restarts > 0) {
        set req.hash_always_miss = true;
    }
    if (req.method == "PURGE") {
...

也就是说,在缓存忙碌的时候(重启次数大于0)我们跳过高速缓存直接走程序读取数据。

建议:这种情况我建议再在varnish后面加一道redis缓存来提高响应速度!

OK!


原创