Hi, On Wed, Jul 27, 2011 at 11:19:30AM -0400, Jed Smith wrote: > In flight, I was able to track down that a RST is immediately sent back.
What I suspect is that your max number of orphans is too low. For instance : $ cat /proc/sys/net/ipv4/tcp_max_orphans 65536 An orphan is a connection that is closed with haproxy but still being sending data to the client. If your site is heavily loaded, chances are that the default number of orphans is too low and that some of them randomly get killed. You should see an intermittent message "Too many orphans" in your dmesg. The primary solution is to increase this number to at least 4 times the max number of concurrent connections you're planning on serving. The 4 comes from the fact that most browsers will open up to 4 connections to a host on average. Warning, an orphan can consume memory for the last send buffer, since all responses have to be buffered for being sent. So don't go too high if your machine has limited amount of memory (consider at least 4kB per connection). Another common workaround is to replace "option httpclose" with "option http-server-close", which will re-enable keep-alive with the clients. That way your connection rate drops and the number of orphans drops too. This is only valid for sites where it is useful to maintain persistent connections, of course. If your site only receives one request per client, it will not bring anything. Regards, Willy

