On Fri, Mar 06, 2009 at 02:36:59PM -0800, Michael Fortson wrote:
> On Fri, Mar 6, 2009 at 1:46 PM, Willy Tarreau <[email protected]> wrote:
> > On Fri, Mar 06, 2009 at 01:00:38PM -0800, Michael Fortson wrote:
> >> Thanks Willy -- here's the sysctl -a |grep ^net output:
> >> http://pastie.org/409735
> >
> > after a quick check, I see two major things :
> >  - net.ipv4.tcp_max_syn_backlog = 1024
> >    => far too low, increase it to 10240 and check if it helps
> >
> >  - net.netfilter.nf_conntrack_max = 265535
> >  - net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
> >    => this proves that netfiler is indeed running on this machine
> >       and might be responsible for session drops. 265k sessions is
> >       very low for the large time_wait. It limits to about 2k
> >       sessions/s, including local connections on loopback, etc...
> >
> > You should then increase nf_conntrack_max and nf_conntrack_buckets
> > to about nf_conntrack_max/16, and reduce nf_conntrack_tcp_timeout_time_wait
> > to about 30 seconds.
> >
> >> Our outbound cap is 400 Mb
> >
> > OK so I think you're still far away from that.
> >
> > Regards,
> > Willy
> >
> >
> 
> Hmm; I did these (John is right, netfilter is down at the moment
> because I dropped iptables to help troubleshoot this),

What did you unload precisely ? You don't need any iptables rules
for the conntrack to take effect.

> so I guess the
> syn backlog is the only net change. No difference so far -- still
> seeing regular 3s responses.
> 
> It's weird, but I actually see better results testing mongrel than
> nginx; haproxy => mongrel heartbeat is more reliable than the haproxy
> => nginx request.

mongrel is on another machine ? You might be running out of some
resource on the local one making it difficult to reach accept().
Unfortunately I don't see what :-(

Have you checked with "dmesg" that you don't have network stack
errors or any type of warning ?

Willy


Reply via email to