[Mongrel] Monrel Woes on Solaris x86

Steven Hansen runner at berkeley.edu
Sun Nov 19 22:14:36 EST 2006

Steven Hansen wrote:
> On 11/16/06, Steven Hansen <runner at berkeley.edu> wrote:
> >
> > Greetings,
> >
> > I need some help... please be gentle :-)
> Hello Steven, and thanks for the good collection of info ;)
> > NOTE: My MySql server is running on a different machine than Mongrel.
> Do you have access to any of the MySql server's configuration data?
> Which settings (if any) have been altered from the defaults?  I ask
> due to this bit:
> > 4) I tried adding "ActiveRecord::Base.verification_timeout = "14400" to
> > my rails
> > environment.rb file, as per the FAQ, this had no effect.
> If the settings have been altered per the "Decrease the value of
> connect_timeout" section of the following document:
> http://mysqldatabaseadministration.blogspot.com/2005/11/mysql-5-optimization-and-tuning-guide.html 
> I know its suggestions are for MySql 5 (vs. your version), but if
> changes similar to these have been made on your MySql server, you
> would need to change the "14400" value in your Rails environment to a
> lower value than the one set for interactive_timeout on the MySql end
> of things (assuming the Mongrel FAQ is accurate and current in that
> regard; I'm new to Mongrel, myself).
> > I'm not really sure where to go from here.  Like I said, I have a 
> strong
> > suspicion that MySql
> > is the culprit, but I'm not sure how to fix the problem.  If anyone
> > could give me some advice
> > on what to try next, I would really appreciate it.
> If you could check (with someone, or otherwise) the MySql
> server-in-question's configuration to make sure Rails is using a low
> enough verification_timeout, that would be another positive step, IMO.
> Maybe it'll turn up something, as it sounds like the 'timeout' is
> happening at approximately 20 minutes for you, vs. documentation I
> have seen suggests that the default is 480 minutes.  Good Luck.
> > Regards,
> > Steven
> Sincerely,
> -Parker
> Hi Parker,
> Thanks for your suggestions.  Sorry for the late reply, it looks like 
> my over zealous spam
> filter snagged your reply, I stumbled on your email while browsing the 
> mailing list
> archives :-P
> I am--for now--administering the machine that the database is running 
> on and I will
> try your suggestions.
> FWIW, I fired up good old webrick to see if the same problem would 
> occur.  Sure enough,
> after 20 minutes of inactivity the app would no longer respond through 
> the browser or by
> doing (curl localhost:50042) while logged on to the machine.
> Regards,
> Steven

Well it looks like I've resolved the problem.  Hooray! My mysql server's 
(mysqld) wait_timeout was set as follows (wait_timeout=28800).  Which as 
Parker mentioned is 480 minutes or 8hrs!  Here is a link to the mysql 
docs that has a description of what the wait_timeout var controls, as 
well as many other mysqld variables: 

And for anyone who stumbles on an archive of this message, here is the 
mysql docs description of "wait_timeout"

"The number of seconds the server waits for activity on a 
non-interactive connection before closing it. This timeout applies only 
to TCP/IP connections, not to connections made via Unix socket files, 
named pipes, or shared memory.

On thread startup, the session |wait_timeout| value is initialized from 
the global |wait_timeout| value or from the global |interactive_timeout| 
value, depending on the type of client (as defined by the 
|CLIENT_INTERACTIVE| connect option to |mysql_real_connect()|). See also 

Interestingly enough, the mongrel FAQ says that all you need to do is to 
set (ActiveRecord::Base.verification_timeout = 14400) or a value lower 
than the server's wait_timeout value.  Before altering my server's 
wait_timeout setting, I tried setting 
ActiveRecord::Base.verification_timeout to 60, 30 and 5.  None of these 
settings made any difference as far as preventing Mongrel from locking 
up.  Perhaps I added the setting in the wrong location in my rails 
environment?  The FAQ doesn't mention where this setting should be 
added, I just assumed it should be added to config/enviroment.rb  if 
this is wrong, let me know.


More information about the Mongrel-users mailing list