Too many 503 backend errors
Michael Alger
varnish at mm.quex.org
Thu Dec 23 06:37:36 CET 2010
On Thu, Dec 23, 2010 at 10:56:21AM +0530, Anand Shah wrote:
> But i have already tried all this stuff's. The problem with probing is
> that if your back-end is unhealthy for a second and if varnish
> declares it unhealthy due to some reason than it shows backend
> unhealthy for next 5 mins or so whereas the interval is only 5s. So if
> i m running on one back-end all the requests for this backend fails.
That depends on how you set the probe parameters.
The .interval setting controls how frequently the requests are made.
The .window setting controls how many responses (healthy/sick) are
remembered.
The .threshold setting controls how many of the last '.window' responses
must be 'healthy' in order for the backend to be considered healthy.
So if you set, for example, .window to 10 and .threshold to 1, then so
long as at least 1 of the last 10 probes to that backend was successful,
Varnish will consider the backend healthy. If your .interval is 5
seconds, then that means the probe must fail 10 times in a row for 50
seconds. That's unlikely to occur unless there's something seriously
wrong with the backend.
Simple settings, but they give you a lot of flexibility in deciding when
to stop sending additional traffic to a backend that is having problems.
This can be good even if you only have one backend, as if it's failing
to respond to requests because it's overloaded, sending it more requests
isn't going to help the situation, while backing off might allow it to
recover quicker.
More information about the varnish-misc
mailing list