# 24 seconds for FASTCGI process to startup? Is this normal?

**URL:** <https://www.ruby-forum.com/t/24-seconds-for-fastcgi-process-to-startup-is-this-normal/111881>\
**Category:** Rails\
**Created:** [August 12, 2007, 10:57pm UTC](https://www.ruby-forum.com/t/24-seconds-for-fastcgi-process-to-startup-is-this-normal/111881 "2007-08-12T22:57:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [August 12, 2007, 10:57pm UTC](https://www.ruby-forum.com/t/24-seconds-for-fastcgi-process-to-startup-is-this-normal/111881/1 "2007-08-12T22:57:33Z")

</div>

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 Y.'s  
workaround[http://work.alexyoung.org/archives/102/dreamhost-and-rails-500-errors](http://work.alexyoung.org/archives/102/dreamhost-and-rails-500-errors),  
adapted from Gary L.'s  
workaround[http://thread.gmane.org/gmane.comp.lang.ruby.rails/33057](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
