Now I know why GAE has been killing me

I haven’t written about Google App Engine lately because I haven’t spent too much time using it. And the time I did spend was mostly consumed fighting JavaScript for some client-side aspects that have nothing to do with the fact that the server side is on GAE. I have only touched JavaScript occasionally in the 12 years since writing this game, and I am pretty rusted. Funny how Python came back to me almost instantly but JavaScript just doesn’t.

I am writing a quick post on GAE today because the Google team just published a blog entry that explains why my attempts to create a long-running process in GAE resulted in my application being disabled for having too many “high CPU requests”, a concept that was never documented in the quota system.

Google is now offering a “quota detailed dashboard” and, as this screen capture shows, it tells us that you only get 60 “high CPU requests” and that they replenish at a rate of 2 per minutes. So at least now I know.

What is still not clear is why a request that is doing nothing but waiting for a URLfetch to come back is considered by Google to use too much CPU…


Filed under Everything, Google App Engine, Implementation, Tech, Utility computing

2 Responses to Now I know why GAE has been killing me

  1. This is a very good example of why resource meter usage must be metered at the software activity level rather than the process level which has very little relevance in the cloud unless you are a system management vendor putting lipstick on a pig.

    By the way a waiting thread does not necessarily mean there was no cpu usage in the cloud itself as the actual metering could be performed and charged based on execution performed in a remote process called. That said I think google might be equating the thread clock time as cpu time as threads themselves are scarce system resources.


  2. Pingback: William Vambenepe’s blog » Blog Archive » Long-running processes on Google App Engine: it finally works