Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google App Engine - Request was aborted after waiting too long to attempt to service your request

I get this error sometimes.

Request was aborted after waiting too long to attempt to service your request. Most likely, this indicates that you have reached your simultaneous dynamic request limit. This is almost always due to excessively high latency in your app. Please see http://code.google.com/appengine/docs/quotas.html for more details.

The request that causes it has 10 seconds of latency and 0ms of cpu time. It is a simple jsp page that doesn't do anything that takes long at all. Also, my app is very low traffic, and all the times it has happened, it is the only request being processed.

What causes this?

like image 849
Kyle Avatar asked Mar 17 '10 16:03

Kyle


1 Answers

If your application is low-traffic, it's possibly the startup time. There seems to be an ongoing issue where it takes so long to start an instance up, that they breach the time limit.

Some people have "worked around" this by having a cron/scheduled request that runs every few minutes that does nothing (though personally I think is counter-productive, somewhat undermining the reason Google spin your app down!).

There was an issue in their bugtracker about this:

http://code.google.com/p/googleappengine/issues/detail?id=2456

It's now marked as fixed for version 1.4, and there's a little info on it here:

http://googleappengine.blogspot.com/2010/12/happy-holidays-from-app-engine-team-140.html

Always On - For high-priority applications with low or variable traffic, you can now reserve instances via App Engine's Always On feature. Always On is a premium feature costing $9 per month which reserves three instances of your application, never turning them off, even if the application has no traffic. This mitigates the impact of loading requests on applications that have small or variable amounts of traffic.

like image 200
Danny Tuppeny Avatar answered Oct 13 '22 23:10

Danny Tuppeny