[Mongrel] Mongrel performance study

Steve Midgley
2008-04-08T06:14:47Z

Hi mongrelians,

I found myself with an unloaded full production server recently which
presented an opportunity to run some performance tests against Mongrel
and nginx. I thought this list might have some interest in the results
of my tinkering!

I actually ran two sets of studies, and Wayne Seguin kindly provided a
lot of guidance and support in getting them running. Thanks Wayne!
Also, EngineYard provided the hardware for the test.

The first test looked at Mongrels running with nginx fair proxy vs.
without it:

http://www.misuse.org/science/2008/04/07/thin-ruby-on-rails-nginx-fair-proxy-performance-testing/

The second test looked at Mongrels vs Thin as the application handler
for Rails:

http://www.misuse.org/science/2008/04/07/thin-vs-mongrel-a-ruby-on-rails-performance-shootout/

Overall the results were not so surprising but at least there''s a
little more hard data for people to look at while making decisions
about this stuff.

Summary 1: Fair proxy can boost performance significantly on sites that
have a mix of 95% fast (<1s) and 5% slow-ish (4s) pages.

Summary 2: Unix sockets are probably 4% faster than IP sockets (and
therefore Thin is about 4% faster than Mongrel).

One thing I did notice was that under heavy load nginx fair proxy
caused some weird "clustering" of requests - the graphs (unpublished)
show it pretty clearly while the statistics (published above) do not.
So while fair proxy looks pretty good overall, if you are heavily
loaded, I might recommend from the study that you do not use fair
proxy, at least the version I tested (current stable release).

Your comments and feedback are welcome. I hope the studies'' information
and quality are usable to you. It''s a very small contribution back to
this great community and the people who have contributed so much more.

Steve