Ah, you're right, only this bit stuck in my head "quotas with billing
enabled can accommodate around 500 requests per second" from
http://code.google.com/appengine/docs/quotas.html

Thanks for the pointer to the math working that number back from the
30 request / s limit.  Seems a little optimistic though that a request
could be handled in 75ms (or faster with the -implied- math on the
quota page) with the average query latency these days being way over
that itself.  Here's hoping those come down soon.

Also thanks for the pointer to upping the limit.

-C

On Jan 22, 9:30 am, Don Schwarz <schwa...@google.com> wrote:
> On Fri, Jan 22, 2010 at 10:55 AM, Millisecond <millisec...@gmail.com> wrote:
> > I'm getting this log message a lot in my application:
>
> > >>"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 
> > seehttp://code.google.com/appengine/docs/quotas.htmlformore details."
>
> > I do have "excessive latency" in that I run non-trivial tasks in the
> > TaskQueue handlers interacting with external systems averaging about
> > 10 seconds per handler with a couple per "cycle" pushing the 30 second
> > limit, but on the Dashboard my requests/second never seem to exceed
> > ~1.5.  I have billing enabled and my understanding is that gives me
> > 500 simultaneous requests.
>
> That's not accurate.  Where did you hear this?
>
> Here's the documentation we have on this:
>
> http://code.google.com/appengine/docs/java/runtime.htmlsays:
>
> *** An application can process around 30 active dynamic requests
> simultaneously. This means that an application whose average server-side
> request processing time is 75 milliseconds can serve up to (1000 ms/second /
> 75 ms/request) * 30 = 400 requests/second without incurring any additional
> latency. Applications that are heavily CPU-bound may incur some additional
> latency in long-running requests in order to make room for other apps
> sharing the same servers. Requests for static files are not affected by this
> limit.
>
> *If your application is making efficient use of resources and traffic is
> about to exceed your expected maximum queries per second, you can request
> that the simultaneous dynamic request limit be
> raised<http://code.google.com/appengine/kb/billing.html#cpu>.
> App Engine can scale far beyond 30 simultaneous requests; this default limit
> is in place to prevent a poorly performing or malicious app from hoarding
> resources.*
>
> I suggest that you calculate the maximum number of simultaneous requests
> that you need to serve and fill out the above form.
>
> Thanks,
> Don

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

Reply via email to