khaines
3/8/2005 2:56:00 PM
On Tue, 8 Mar 2005 13:00:06 +0900, Navindra Umanee wrote
> I've heard that FastCGI is probably the best option for deploying a
> production Ruby-based website. Unfortunately, I was betting on using
> WEBrick for my backend (Apache would still be in front), and it would
> be quite disappointing to find that it's not up to the task.
Depends on what you mean by "up to the task". It will deliver nowhere near
the performance of a C web server like Lighttpd or Apache when serving static
files.
However, it can perform quite adequately for dynamic content, depending on how
you are generating that dynamic content.
I have no problem getting 40-60 requests per second from it for real world web
applications and dynamic content on relatively modest hardware, and even on
older hardware (800 Mhz PIII running Gentoo Linux), I can easily get in the
low 20s on requests per second.
It all depends on the performance that you need and the hardware that you have.
Doing some performance testing on the cutting edge version of my IOWA
framework, and using lighttpd plus FastCGI, I'm getting around 130 requests
per second for my test application, which is a real app, and around 220/second
for a simple "Hello World" sort of page in my initial tests on a single CPU
AMD2600 machine running RedHat Enterprise Linux 3.0. Webrick performance on
the same machine is, roughly, 1/2 to 1/3rd of that, and the FCGI approach has
the advantage of scaling just by adding more machines.
So, it really depends on what your production needs are. For modest usage,
especially if there is a lot of dynamic content and not a lot of static
content, I see no reason why one could not use webrick in production.
For high performance, though, FCGI is hard to beat.
Kirk Haines