通过 varnishadm 禁用清漆健康检查
Disable varnish health check via varnishadm
我设置了清漆。我想在清漆中禁用后端,同时一台一台地更新服务器。有一种方法可以做到,通过健康检查,但是如果我的健康检查是每 20 秒一次,那么在最坏的情况下仍然会有 20 秒的停机时间。我发现通过 varnishadm 我可以设置后端的运行状况。例如:
varnishadm backend.set_health backend1 sick
问题是,当我这样做时,varnish 仍然发送健康检查并将后端设置为健康。有办法暂时禁用健康检查吗?
varnishadm backend.list
的输出是什么
我的是这样的:
varnish> backend.list
200
Backend name Admin Probe
84941fd7f319.default probe Healthy 4/5
varnish> backend.set_health default sick
200
varnish> backend.list
200
Backend name Admin Probe
84941fd7f319.default sick Healthy 5/5
如您所见,我们首先从启用探测的健康后端开始,然后我们将其标记为异常,并且它会被管理员 PoV 视为异常,但某种探测记录仍然可用。
最重要的是,没有请求会被发送到后端标记为生病。
我设置了清漆。我想在清漆中禁用后端,同时一台一台地更新服务器。有一种方法可以做到,通过健康检查,但是如果我的健康检查是每 20 秒一次,那么在最坏的情况下仍然会有 20 秒的停机时间。我发现通过 varnishadm 我可以设置后端的运行状况。例如:
varnishadm backend.set_health backend1 sick
问题是,当我这样做时,varnish 仍然发送健康检查并将后端设置为健康。有办法暂时禁用健康检查吗?
varnishadm backend.list
我的是这样的:
varnish> backend.list
200
Backend name Admin Probe
84941fd7f319.default probe Healthy 4/5
varnish> backend.set_health default sick
200
varnish> backend.list
200
Backend name Admin Probe
84941fd7f319.default sick Healthy 5/5
如您所见,我们首先从启用探测的健康后端开始,然后我们将其标记为异常,并且它会被管理员 PoV 视为异常,但某种探测记录仍然可用。 最重要的是,没有请求会被发送到后端标记为生病。