On Aug 12, 2007, at 3:55 PM, Greg Hauptmann wrote:

> Hi,
>
> I'm on Dreamhost for hosting and have been finding that (noting  
> Dreamhost
> kill off ruby processes) the first page return takes 20-40seconds,  
> after
> which things go ok.  I've put some logging in the "dispatch.fcgi"  
> code and
> note the following:
>
> - HTTP log output for initial request:  X seconds
> - "dispatch.fcgi" entry: 1 second after this
> - fastcgi process log entry:  24 seconds after last step
> - my RoR app log entry:  1 second after last step
>
> Question - Is it normal for the fastcgi processes to take this long  
> to start
> up?   Any suggestions on how to improve startup time?
>
> Note:  I am aware of a work around mentioned on the Dreamhost wiki  
> which I
> will try (see below), however I wanted to make sure I can't  
> optimize the
> root cause start up time before going into work around mode.
>
> If you are using fcgi with Ruby on Rails, you might get what appear  
> to be
> random 500 errors occasionally. Alex Young's
> workaround<http://work.alexyoung.org/archives/102/dreamhost-and- 
> rails-500-errors>,
> adapted from Gary Lin's
> workaround<http://thread.gmane.org/gmane.comp.lang.ruby.rails/ 
> 33057>seems
> to resolve this. Basically, add the following code to your
> dispatch.fcgi, right *before* RailsFCGIHandler.process! class
>
> RailsFCGIHandler
> private
>   def frao_handler(signal)
>    dispatcher_log :info, "asked to terminate immediately"
>    dispatcher_log :info, "frao handler working its magic!"
>    restart_handler(signal)
> end
> alias_method :exit_now_handler, :frao_handler
>
>
>
>
> Regards

Uh, yeah, often that can happen. It's shared hosting.
If you want something faster and more dedicated to your app, you'll  
need to move to some sort of VPS hosting (virtual private server)  
where you pay for a slice of memory and processor time in your hosting.
FCGI is better than CGI.
DH does not allow persistent processes on their shared hosting. Even  
while installing your own gems in your directory, their system will  
occasionally kill it if it takes too long.

Still this may be more of a Rails question, as it pertains mainly to  
rails and not so much to Ruby CGI specifically.
That said, it's also actually more appropriate for the DreamHost  
forums or to contact DH support (they are very responsive if you ask  
nice questions)