[Mongrel] mongrel becoming unresponsive

Pete DeLaurentis pete at nextengine.com
Sat May 5 22:21:54 EDT 2007


Hi Mike,

You're definitely hitting this more often then I am (about once per  
day).

With monit, you can do an HTTP request and test the response, which  
is how I determined if it's hanged.  Sounds pretty similar to what  
you're doing with cron.

Which OS are you running + version of ruby?  I'm on OpenSUSE 10.3,  
Ruby 1.8.5, Rails 1.2, and Mongrel 1.0.1.  I also run memcached,  
lighttpd, and pound.  I'm running 6 mongrels using mongrel_cluster  
(the latest version).

Thanks,
Pete


On May 5, 2007, at 7:05 PM, Michael P. Soulier wrote:

> On 05/05/07 Pete DeLaurentis said:
>
>> Hi Mike,
>>
>> My mongrels are dying too, but running behind Lighttpd.  Are you
>> seeing anything in the logs?  I see absolutely nothing.  Just the
>> last request that went through... but it's pretty old.
>
> Nothing in the logs to indicate what the problem might be. Seems to  
> happen
> when it processes a 404 error sometimes.
>
> ActionController::RoutingError (no route found to match
> "/2006/04/15/employee-of-the-century-dead-at-100/trackback/" with
> {:method=>:post}):
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/ 
> action_controller/routing.rb:1292:in
> `recognize_path'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-1.13.2/lib/ 
> action_controller/routing.rb:1282:in
> `recognize'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/rails-1.2.2/lib/ 
> dispatcher.rb:40:in
> `dispatch'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel/rails.rb:78:in
> `process'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel/rails.rb:76:in
> `process'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel.rb:618:in
> `process_client'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel.rb:617:in
> `process_client'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel.rb:736:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel.rb:736:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel.rb:720:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel/configurator.rb:271:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel/configurator.rb:270:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/ 
> mongrel_rails:127:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/ 
> mongrel/command.rb:211:in
> `run'
>     /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/ 
> mongrel_rails:243
>     /usr/local/ruby/bin/mongrel_rails:18
>
>
> rescue_action_in_public executed
> Rendering status404 Not
> Foundfile/var/www/papproach/config/../public/404.htmllayoutfalse  
> within
> layouts//application
> Rendering /var/www/papproach/config/../public/404.html (404 Not Found)
>
>> My solution for now is to run a few mongrels, and have Monit restart
>> them when they become unresponsive.  I have a few die each day.
>
> I have one instance supervised with runit, but supervision doesn't  
> help since
> the mongrel doesn't crash, it just hangs. I now have a 10 minute  
> cron that
> checks on it and restarts it if it's unresponsive, and it's doing  
> so a few
> times an hour now, which is disturbing.
>
>> Zed, is there anything we can do to debug this further?  Is there a
>> good place we can put some logs in the Mongrel code?  Or something we
>> can try the next time they go down?
>
> It's happening a lot to me right now. No --debug option to mongrel?
>
> Mike
> -- 
> Michael P. Soulier <msoulier at digitaltorque.ca>
> "Any intelligent fool can make things bigger and more complex... It
> takes a touch of genius - and a lot of courage to move in the opposite
> direction." --Albert Einstein
> _______________________________________________
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-users



More information about the Mongrel-users mailing list