How often were you sending your requests before getting this exception? By
default, App Engine apps can handle up to 30 simultaneous requests, which,
assuming 75 ms per request, results in a processing rate of 400 qps.

http://code.google.com/appengine/docs/java/runtime.html#Quotas_and_Limits

If your requests are taking 20 seconds each, then you would only be able to
handle 1.5 qps in comparison. These other requests are likely being pushed
out a bit which results in a timeout if they take longer than 30 seconds to
return a response.

Ideally, you should split your requests into smaller tasks that can be run
quickly. If you want to continue using longer requests and processing more
per request, you'll have to adjust the load that you send your application
accordingly.

- Jason

On Thu, Oct 29, 2009 at 2:16 PM, James Cooper <[email protected]>wrote:

>
> :-)
>
> Yes, it looks like the task queue concurrency in production is
> thottled at 5 concurrent requests.
>
> As an aside, my app was frequently generating these errors (>30% of
> the requests):
>
> 10-28 11:52PM 40.993 /action/zipimportmc/dequeue 500 10043ms 0cpu_ms
> 0kb ApacheBench/2.3,gzip(gfe)
> Request was aborted after waiting too long to attempt to service your
> request. Most likely, this indicates that you have reached your
> simultaneous active 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.
>
> When I have some extra time I'll try to create a minimal repro case
> for this.  I was seeing this error regardless of how I invoked my
> URLs.  I tried:
>  - task queues (which appears to
>  - manually in a web browser
>  - from the command line with ApacheBench (as in the above line)
> (from two machines at once using concurrency of 3 on each ab invoke)
>
> It may have to do with the duration of each of the requests.  I wrote
> my handler to exit after 20 seconds to avoid deadline exceptions, but
> perhaps there's a heurstic that punishes that.. I need to experiment
> more.
>
> But yes, I'm open to suggestions on how to generate higher levels of
> concurrency when you want to process a large data set.  So far my
> attempts are lacking!
>
> -- James
>
>
> On Oct 29, 2:38 pm, "Jason (Google)" <[email protected]> wrote:
> > Never mind, looks like you already did. :)
> >
> > - Jason
> >
> >
>

--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to