Thanks for the thoughtful description of your situation, Josal.  We
appreciate your trust and are working very hard to continue to deserve
it!

Regarding unexpected timeouts, what we've seen is that they are almost
always a result of what I call a wedged process.  I blogged about this
a couple years ago:

http://adam.heroku.com/past/2008/6/17/battling_wedged_mongrels_with_a/

What happens is that one request does something that locks the process
(like hitting a remote API that never returns, or calling a method
with an infinite loop bug).  Once this occurs, the process can't serve
any future requests, and all requests sent to it will time out - even
simple requests for non-dynamic pages or static assets not already in
the Varnish cache.  The only solution to the wedged process problem is
to restart the process.

This is not a problem unique to Heroku in any way; however, running on
Heroku gives you fewer options for live introspection of the
processes' behavior.  For example, if you hit this problem on
Slicehost you might install the mongrel_proctitle plugin in order to
find out which request the process is stuck on.  We're working on
expanding the number of options you have for diagnosing these
situations.

In the meantime, your best options are:

- Use "heroku restart" to reboot your processes when you suspect one is wedged.

- Use the SystemTimeout method described in the blog post above, with
a timeout of 29 seconds or less.  Unfortunately this still doesn't
catch every kind of wedging (certain kinds of system calls won't be
trapped by it), but it can catch many of them.

- Use our new logging system, currently in private beta, for more
detailed introspection of requests.  I'll email you privately with the
details.

-- 
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to her...@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.

Reply via email to