Zed,
Thanks for the detailed answer! My only remaining concern in the claimthat 
Mongrel has better win32 support. Right now, today, I can't usethe 1.8.4 Ruby 
installer due to issues with a native extension. Thisleaves me without Mongrel 
on win32. A pedantic technicality, for sure,but that's my current state of 
affairs. It will be fixed shortly, sothis is only temporary anyway.
Keep up the great work! If it weren't for Mongrel and SCGI, I wouldn'thave much 
ammunition when evangelizing Rails to my ".NET Architect"friends - yes, they 
use words like "scale" and "enterprise", butthey're my friends anyway. ;)
Thanks again. Cheers,
Kevin
On 5/10/06, Zed Shaw <[EMAIL PROTECTED]> wrote:> Hey Kevin,>> In general I try 
to steer people toward Mongrel for three reasons:>> 1) Mongrel is extensible.  
You can add your own handlers which is a> major advancement over fastcgi and 
scgi.  This lets you speed up actions> which are too slow under rails by moving 
them out to Mongrel handlers,> but it is more difficult.>> 2) SCGI hasn't been 
worked on (by me) in a while, and will most likely> get a big clean-up soon.  
I've got limited bandwidth for projects, and> Mongrel is getting real attention 
(and _cash_ :-) so that's where most> of the innovation is going.  I am going 
to keep SCGI alive since it's> pure Ruby and there might be folks who just 
can't run Mongrel.>> 3) Mongrel is easier to deploy in most other environments. 
 See, SCGI is> great and all, but there's like 3 web servers that support that 
protocol> and there's no decent load balancers, firewalls, proxies, etc.  
Mongrel> is HTTP so it can be deployed on a chees!
e sandwich in the back of a> truck (meaning anywhere).>> More answers 
below...>> On Wed, 2006-05-10 at 08:52 -0600, Kevin Williams wrote:>> > So, 
which is better?>> Right now I'd say Mongrel simply because it has better win32 
support, is> extensible with plugins and handlers, and it gets more attention 
from> me.>> > Which is more stable?>> I'd say Mongrel is more stable because I 
do this "Iron Mongrel" thing> where I give it regular code audits, attack it 
with attack tools and> protocol fuzzing, and just generally try to destroy it.  
Here's more on> that:>> http://mongrel.rubyforge.org/security.html>> > Which is 
more scalable?>> First, let's make sure we are clear:  when I say "scalable" I 
mean> "Which one can I expand easily to meet new demand."  Hopefully you don't> 
mean "performance".  Because that'd be really annoying. :-)>> Mongrel is more 
scalable because of just one word:  HTTP.  You can put> it behind many 
professional load balancers, reverse proxies, web> servers, a!
nd even run it standalone.  There isn't a performance> difference, and with the 
proper conditional responses and native page> caching support it's actually 
faster than SCGI in many requests.>> > Will mongrel be as cross-platform stable 
as scgi has proven to be?>> No, this is why I'm still keep SCGI around.  Since 
SCGI is pure Ruby it> will be the last bastion for people who can't compile 
extensions *or*> can't use an LGPL project (of course of those folks are 
thieves who take> the work and don't contribute back, but oh well).>> Mongrel 
has built on every platform except maybe AIX.  And it runs the> same on all of 
them, with win32 needing extra stuff because it doesn't> support daemon 
processes.>> > Which platform is more likely to handle 20+ million dynamic 
pages perday - mod_scgi + clustered scgi runners,>> That comes down to and 
estimated 231 requests/second and I've done that> on Mongrel with a bit of 
hardware.>> What you'll have to do with *any* Rails application is use !
httperf to> measure different pages people will access.  Then create a single> 
machine that replicates your proposed deployment.  Once you have this> you need 
to use httperf to test that this proposed deployment is as fast> as you had in 
your initial tests.>> Now that you've got thing worked out on the proposed 
deployment, you> need to work to tune it to as fast as you can get it.  This 
will take> doing page caching, fragment caching, database query tuning, 
database> object caching, and finally moving what you can out of Rails and 
into> Mongrel.>> Once you've got the box as fast as you can get it, and you've 
played> with the number of Mongrels that gives you the sweet spot, you then 
just> need to buy the right amount of hardware and a good load balancer to> 
meet your needs.>>> --> Zed A. Shaw> http://www.zedshaw.com/> 
http://mongrel.rubyforge.org/>>> 
_______________________________________________> Mongrel-users mailing list> 
[email protected]> http://rubyforge.org!
/mailman/listinfo/mongrel-users>
_______________________________________________
Mongrel-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to