公司一varnish集群运行很久了,一直很稳定,没发现什么问题。最近开发那边反馈新传的静态文件访问不了。出现以下错误:
Error 503 Service Unavailable
Guru Meditation:
XID: 1267841165
cache server 5443
检查varnish启动配置,
ps -ef | grep varnish
usr/sbin/varnishd -P /var/run/varnish.pid -a :80 -f /etc/varnish/default.vcl -T 127.0.0.1:6082 -t 0 -w 100,30000,600 -s malloc,13G -p http_max_hdr 256 -p http_req_hdr_len 8192 -p http_resp_hdr_len 8192 -p thread_pool_max 9000 -p thread_pools 8 -p queue_max 600 -p listen_depth 8192 -p lru_interval 300 -p sess_timeout 60 -p gzip_level 8 -h classic,600007
判断不是这里有问题。
另外,服务器剩余内存还有很多,确定不是内存问题。
检查了后台静态文件服务器,也没发现问题。
重启varnish之后,503的问题暂时得以解决。但是发现新上传的静态文件还是503.
后来发现,varnish配置文件里,有一条检测后端健康状态的配置如下:
probe probe_ask_iis {
.interval = 60s;
.timeout = 5s;
.window = 10;
.threshold = 4;
.initial = 10;
.request =
"HEAD /css/305css.css HTTP/1.1"
"Host: www.ooxx.com"
"Connection: Close";
}
询问开发,开发说他们最近整理静态资源,shanchu(这2个字?也敏感?)了/css/305css.css文件,至此故障原因终于浮现。
解决:恢复了这个文件,按个重启varnish服务。
后话:本人觉得这个配置没有什么意义!