I want to set-up a compute intensive application on GAE and I would like to 
know if the Task Queue is going to pose serious obstacles to reducing the 
elapsed time.

I am presently running a test application (not using task queues) that takes 
about 1 second (a 650 million iteration no-op loop).  Unfortunately, I see 
that the reality is that there is a lot of variability in how long it takes 
GAE to complete what typically takes 1 second.  It can range from 0.9 
seconds to more than 2 seconds (measured inside the servlet so as not to be 
affected by internet delays).  Given this variability it seems impossible to 
consistently stay under the 1000ms that Google recommends.  My test run has 
a desktop program invoking the application 3000 times (from 100 threads).  
One problem is the 5xx HTTP errors (perhaps more than 100 errors in 3000 
invocations).  Another problem is that the 3000 invocations take about 500 
seconds which is only an approximate 6-fold improvement in the elapsed time 
compared to single threading.  This is despite having 100 threads.  Also 
troubling are the one or more periods when when no responses are received 
despite there being 100 threads trying to get responses.  These pauses can 
last a few seconds or even more than 30 seconds.

It appears I will have to move away from the current approach.  I would like 
to know if GAE Task Queues will pose similar problems or if GAE Task Queues 
are not the right approach to getting a lot of computing done.  Reducing the 
elapsed time is the objective.

-- 
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