Hi all.<br><br>Is there any way to control how connections to backends are reused?<br><br>I would very much like to have (at least) one TCP connection per vhost and have clients only reusing a connection that fits the Host header they are trying to reach (and create a new one, if no one fits)<br>
<br>Im thinking, somthing like:<br><br>sub vcl_recv {<br> set backend.connection_pool = req.http.Host;<br>}<br><br>It might seem like a strange question, but its a question of "misbehaving" servers.<br><br>9 months ago i tried to fix it with the "retry patch" here:<br>
<a href="http://www.varnish-cache.org/trac/ticket/749">http://www.varnish-cache.org/trac/ticket/749</a><br><br>Not really well thought trough, since a race-condition occurs with 2+ clients on the same connection at the same time trying to get 2 different vhosts. They will, in effect "kill" each other's apache process by trying to go to another vhost. Then they will both retry.. The one that retries first will loose and get the 503 and the other will get its page.<br>
<br><br>So is it possible to control the pools? Or disable reuse/pooling completely?<br><br><br>regards.<br> - Dan<br><br><br>