backend web node keep-alive option

info+varnish at info+varnish at
Thu Nov 16 12:05:48 UTC 2017

> Am 13.11.2017 um 08:11 schrieb Dridi Boukelmoune <dridi at>:
> On Sat, Nov 11, 2017 at 9:48 PM,  <info+varnish at> wrote:
>> I was observing a behavior of a PHP script on one backend server that got executed/requested
>> twice (but not by the client/browser).
>> The plain script just processes data and only outputs a response until its done. The observed
>> behavior is; when first_byte_timeout passes but the script is still processing data, the varnish
>> node answers with an 503 and the script gets listed twice in the webserver process list. So, either
>> it gets requested on this event again or the TCP connection close triggers an new execution. In any
>> case its a bug and because of missing resources to dive into a more deeper analyses, I just disabled
>> the enabled keep-alive option of the backend webserver (apache/httpd). The results: it helped to avoid
>> a further execution of the script.
>> The question is: What is the best practice to configure the backend webservers? Do you keep the
>> keep-alive option enabled or not?
>> I'd appreciate hearing your suggestions.
> I think you're getting a retry from varnishd, independent from VCL's
> return(retry) which only happens on GET/HEAD requests that are
> supposed to be side-effect-free and safely retry-able. On top of that
> you might be hitting a bug where Varnish retries more than once.
> Seeing some log would help confirm this hypothesis.

Ah, okay. Is this still valid for version 5.1/5.2? 

The mentioned script doesn't exist anymore. I will try to spend some time to reconstruct this case.



More information about the varnish-misc mailing list