backend web node keep-alive option

info+varnish at info+varnish at
Sat Nov 11 20:48:24 UTC 2017

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.


More information about the varnish-misc mailing list