Ok, thanks.  Yes, it seems that basically things are somewhat as expected.
It's definitely a good exercise in knowing how noticeably certain things
(like sessions, etc.) affect the performance.  At this point I've removed
Apache from the mix, as we wouldn't be using it anyway (we use it in dev as
it's what we have now that allows us to easily run static, and multiple
Rails on a single box and balance across that, etc.  But, I will probably
look at Nginx as an alternative.  For my tests I've now switched to Pen as
that seems the least obtrusive, and is about as simple as we could get
before having no software load balance/closes to hardware LB.

On 2/28/07, Zed A. Shaw <[EMAIL PROTECTED]> wrote:

On Tue, 27 Feb 2007 22:02:58 -0800
"Christopher Bailey" <[EMAIL PROTECTED]> wrote:

> Moving forward, I may not understand httperf's num-conns, and rate, as
> applied to scaling up the number of Mongrels.  Either that, or my server
has
> issues.
>
> httperf --hog --server lab05 --port 80 --uri /mongrel_alive.html
--num-conns
> 4500 --rate 450
>
> This gives me back 10 seconds of time, and 450 req/sec, 450 conn/sec.

Try inching that up incrementally until you find the "sweet spot".
It's probably going to be 450 or near it, but try 500.  You'll know you
passed the sweet spot when the req/sec crashes suddenly.  I do kind of
a binary search algo until I find the right number.

> So, now I add a Mongrel into the mix, restart Apache, etc.  I would
think
> that I can now use:
>
> httperf --hog --server lab05 --port 80 --uri /mongrel_alive.html
--num-conns
> 9000 --rate 900

You won't get 900 right away, especially since you have one CPU and are
maxing them out but if you get 350 req/sec then try again inching it
down until you get a steady number.  Try 800 to see if that gives you
800 req/sec, then further down until you get it, then inch up to see
where the sweet spot is.

> In my case it starts breaking down with just two Mongrels (and to be
clear,
> I was not running top during the tests).  I drop to about 350 req/sec
> without errors.

Yep, and that's just kind of the way it goes.  In your case, having
more mongrels isn't going to get you higher performance, so just add
one more mongrel and use your mongrel processes more to ensure
concurrency when running Rails.  Also, you haven't even hit testing
your rails performance yet, do that too and just kind of accept it as
your speed then plan for it.

--
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu
http://www.zedshaw.com/
http://www.awprofessional.com/title/0321483502 -- The Mongrel Book
http://mongrel.rubyforge.org/
http://www.lingr.com/room/3yXhqKbfPy8 -- Come get help.
_______________________________________________
Mongrel-users mailing list
Mongrel-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-users

_______________________________________________
Mongrel-users mailing list
Mongrel-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to