Hello Sascha,


>> The best way to scale ruby web apps is to use numerous external 
>> started FCGI servers and use the session id to bind to the same user
>> to the same FCGI server. If you don't have extremely high interuser
>> interaction this would simplify your life. It can also reduce your 
>> database load a lot and make HTML-GUI implementation easier. The most
>>  complicated thing is to get this configuration up and running - and
>> it does not work good with load balancers.

SE> You seem to speak out of experience. Could you elaborate a little more

I was responsible for a complete crash of AOL Germany and a 3 days
crash of Compuserve Germany :-) Since this early days i learned a lot of how
to not write/setup a huge content management system and that a rich company
like AOL has only 4 pizza boxes each with one 266 MHz to serve everything.

SE> or maybe point me into a direction where I can read a more about this
SE> technique? I will read about FCGI because others have mentioned it too.
SE> The reason I haven't already done so, is that from a PHP perspective you
SE> wouldn't bother to use CGI because of the process duplication which
SE> slows down things considerably. mod_php is a lot more stable and
SE> complete than mod_ruby at the moment. I must investigate more in this
SE> option. One other thing I wonder about is when you say that it is
SE> complicated to set up. It sounds to me that this technique is like
SE> distributed processes in contrast to distributed services on different
SE> machines. With the advantage of being able to scale the hardware on one
SE> machine.

FCGI has nothing to do with CGI except 3 letters. It is an application
server and mod_fastcgi will send request data via a socket connection
to the FCGI server - it can automatically start and stop the FCGI
application server, but in a lot of cases this is not done very
gratefully.

mod_fastcgi + ruby FCGI is faster then mod_ruby. And it will not
result in an overflow of apaches incoming socket connection queue.
You get the mentioned queue system for free.

If you move away from apache, as i mentionend in another thread, you
can get better performance, especially the mod_fastcgi module does not
support everything that is in the specification. There are commerical
servers that are much better.

>> The first thing would be to check if ruby is really what you want. Do
>>  you have the libraries you need for your project, are they stable

SE> I don't know if there are any really stable and mature libraries for
SE> Ruby in comparison to Java libraries. At first I thought it would be a
SE> good idea
SE> to write everything myself so I could keep the system as small as 
SE> possible.

Every programmer first think it is better to do everything on its own.
Maybe a reason why only 16% of all IT projects are successful.


-- 
Best regards,
 Lothar                            mailto:mailinglists / scriptolutions.com