Hi,

    I made an interesting observation using webservers (not just mongrel) under 
red hat enterprise
linux ES release 4 (Nahant Update 5). Maybe this is helpful or somebody with 
deeper networking
expertise can comment on this.

Once client said that 1-2% of the response of our server were unacceptably slow 
(really huge 3s-21s). 
So I did more  ab and httperf tests and notice that very few requests do take a 
very long time. Being clueless
I first thought that the ruby garbage collector or mongrel is causing the 
effect, so after looking
at a similar setup using erlang's yaws or nginx alone, I noticed that sometimes 
this can happen,
especially when increasing the number of concurrent connects to a large number 
(e.g. 250-500).
I did the same on OS-X and did not notice these outliers.

After a lot of painful searching by luck we found one cure: inet_peer_threshold 
was too small.
Chaging it to a much larger value made the problem go away.

echo 500000 > /proc/sys/net/ipv4/inet_peer_threshold

There is a trade-off here. A too small value causes too many delays from 
inet-peer-storage cleaning 
and a too big value makes life well for some limited time, but when it hits 
you, it becomes really expensive.

Did you ever see this?

Thanks,
  -Armin
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to