varnish 5.0: varnish slow when backends do not respond?
Hu Bert
revirii at googlemail.com
Tue Feb 5 11:55:31 UTC 2019
Hi Guillaume,
the backend config looks like this (just questioning a simple file
from tomcat); maybe params are wrong? :
backend tomcat_backend1 {
.host = "192.168.0.126";
.port = "8082";
.connect_timeout = 15s;
.first_byte_timeout = 60s;
.between_bytes_timeout = 15s;
.probe = {
.url = "/portal/info.txt";
.timeout = 10s;
.interval = 1m;
.window = 3;
.threshold = 1;
}
}
The backend is shown as 'sick', but the time until you get an answer
from nginx/varnish differs, from below a second to 7 or more seconds -
but the requested image is already in cache (hits >= 1).
Imho the cache should work and deliver a cached file, independent from
a (non) working backend. Maybe beresp.ttl messed up?
else if (beresp.status<300) {
[lots of rules]
} else {
# Use very short caching time for error messages - giving the
system the chance to recover
set beresp.ttl = 10s;
unset beresp.http.Cache-Control;
return(deliver);
}
Thx
Hubert
Am Di., 5. Feb. 2019 um 12:33 Uhr schrieb Guillaume Quintard
<guillaume at varnish-software.com>:
>
> Hi,
>
> Do you have probes set up? If you do, the backend will be declared sick and varnish will reply instantly without even trying to contact it.
>
> It sounds like that at the moment, varnish just tries to get whatever it can, waiting for as long as authorized.
>
> Cheers,
>
> On Tue, Feb 5, 2019, 11:51 Hu Bert <revirii at googlemail.com wrote:
>>
>> Hey there,
>>
>> i hope i'm right here... i have the following setup to deliver images:
>>
>> nginx: https -> forward request to varnish 5.0
>> if image is not in cache -> forward request to backend nginx
>> backend nginx: delivers file to varnish if found on harddisk
>> if backend nginx doesn't find: forward request to 2 backend tomcats to
>> calculate the desired image
>>
>> The 2 backend tomcats do deliver another webapp (and are a varnish
>> backend as well); at the moment they're quite busy and stop working
>> due to heavy load (->restart), the result is that varnish sees/thinks
>> that the backends are sick. Somehow then even the cached images are
>> delivered after a quite long waiting period, e.g. a 5 KB image takes
>> more than 7 seconds.
>>
>> Is this the normal behaviour that varnish does answer slowly if some
>> backends are sick?
>>
>> If any other information is need i can provide the necessary stuff.
>>
>> Thx in advance
>> Hubert
>> _______________________________________________
>> varnish-misc mailing list
>> varnish-misc at varnish-cache.org
>> https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
More information about the varnish-misc
mailing list