The 30 second timeout for requests is another great problem (not) to have. It's actually very bad if you think about it - a timed out request that is still processing will receive a new request from the routing mesh after the 30 seconds. This makes the dyno look "stuck".
I wrote about this here: http://artsy.github.com/blog/2012/11/15/how-to-monitor-503s-and-timeout-on-heroku/and some ways to avoid it. Sadly throwing an exception before 30 seconds doesn't solve everything - the dyno may need to garbage collect or do whatever it needs to do and while it improves the stuck dyno situation, it doesn't really go away. On Thu, Dec 13, 2012 at 2:03 PM, Neil Middleton <[email protected]>wrote: > Nowhere. Just wondering ;) > > > On Thursday, December 13, 2012, Daniel Doubrovkine wrote: > >> Correct. Where did I say it prevents H20? :) >> >> On Thu, Dec 13, 2012 at 11:18 AM, Neil Middleton >> <[email protected]>wrote: >> >> So there is still the behaviour where your app is effectively down while >> you're waiting for the dynos to spin up? It looks to me like this gets >> round the issue of preventing deploys from working due to R10 rather than >> preventing H20's? >> >> -- >> Neil >> >> On Thursday, 13 December 2012 at 16:06, Daniel Doubrovkine wrote: >> >> Heroku-preboot doesn't achieve the same thing: it changes the order in >> which dynos stop/start - instead of first stopping dynos, then queuing, >> then starting dynos, it first starts the new dynos, then swaps them after 2 >> minutes. The 60s timeout still applies to the new dynos the same way as it >> did before. >> >> A request routed to the live dyno is queued inside the dyno (inside the >> proxy). When all your dynos are queuing, Heroku will queue the request. If >> a dyno failed to serve the request in 30s, you get an H20 request timeout. >> To mitigate this, the proxy also supports a delay option that will sleep >> for 0 < N < 60 seconds waiting for your backend to come up - we run it with >> 45 seconds - our average server boot time is somewhere around 65s and we >> want to get closer to Heroku's 60s limit (in theory we should set our delay >> to 59s, but you know, computers aren't that precise :). >> >> On Thu, Dec 13, 2012 at 10:26 AM, Neil Middleton >> <[email protected]>wrote: >> >> Interesting. >> >> Does using Heroku pre boot also achieve this or does the 60 second limit >> still apply? https://devcenter.heroku.com/articles/labs-preboot/ >> What happens to requests that get routed to the 'live' dyno before the >> app has started? >> >> -- >> Neil >> >> On Thursday, 13 December 2012 at 15:21, Daniel Doubrovkine wrote: >> >> Many have been struggling with the Heroku R10 boot timeout. >> >> Announcing heroku-forward, a new gem for those with larger or slower >> applications struggling to boot on Heroku within the 60s timeout limit. See >> http://artsy.github.com/blog/2012/12/13/beat-heroku-60-seconds-application-boot-timeout-with-a-proxyfor >> an introduction. >> >> Of course, it's best not to have this problem and being able to boot your >> application in less than 60 seconds, but this could be your short/medium >> term fix when you hit the boot time limit. >> >> Hope it helps, >> >> cheers >> dB. >> >> -- >> >> dB. | Moscow - Geneva - Seattle - New York >> dblock.org <http://www.dblock.org> - >> @dblockdotorg<http://twitter.com/#!/dblockdotorg> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Heroku" group. >> >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/heroku?hl=en_US?hl=en >> >> -- > You received this message because you are subscribed to the Google > Groups "Heroku" group. > > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/heroku?hl=en_US?hl=en > -- dB. | Moscow - Geneva - Seattle - New York dblock.org <http://www.dblock.org> - @dblockdotorg<http://twitter.com/#!/dblockdotorg> -- You received this message because you are subscribed to the Google Groups "Heroku" group. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/heroku?hl=en_US?hl=en
