On Apr 29, 2009, at 9:30 AM, Nick Loman wrote: > Michael S. Fischer wrote: >> On Apr 29, 2009, at 9:22 AM, Poul-Henning Kamp wrote: >>> In message <49f87de4.3040...@loman.net>, Nick Loman writes: >>> >>>> Has Varnish got a solution to this problem which does not involve >>>> time-wait recycling? One thing I've thought of is perhaps >>>> SO_REUSEADDR >>>> is used or could be used when Varnish makes connections to the >>>> backend? >>> >>> Varnish tries as hard as reasonable to reuse backend connections, >>> so you should be able to get multiple requests per backend >>> connection. >>> >>> If this is not the case for you, you should find out why backend >>> connections >>> are not reused. > > Hi Poul-Henning, Michael, > > I've configured Apache with KeepAlive off, so I expect the TCP > connection to be closed after each request and Varnish won't be able > to use it. > > I've done that for a specific reason relating to backend PHP > processes.
I don't dispute your reasoning; my employer does this as well. KeepAlive with Apache/PHP can be a recipe for resource starvation on your origin servers. > I typically have thousands of connections in TIME_WAIT mode as a > result, which is expected, but I wonder what the solution could be > if I ever hit more connections than local ports available. I think SO_REUSEADDR is the answer - I'm somewhat surprised that Varnish doesn't set it by default for the backend connections. --Michael _______________________________________________ varnish-misc mailing list varnish-misc@projects.linpro.no http://projects.linpro.no/mailman/listinfo/varnish-misc