On Sep 23, 2007, at 02:30 , armin roehrl wrote:
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
Armin,
We might put this in the documentation, will discuss with the dev team.
Thank you for this.
~Wayne
s///g
Wayne E. Seguin
Sr. Systems Architect & Systems Administrator
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users