Delaying AppEngine to DB latency temporarily ~ 10 seconds every ~ 20 calls?
This (see table below) happens from 3/7. Of course, this could be due to the download and upload of instances. But do you know other reasons why GAE behaves this way?
This is not a tall replication instance. And during testing, we had up to 5 instances of F2 working only with our test client calls. These are mainly DB calls, image processing and using memcache.
There are already 2 questions that look the same: http://code.google.com/p/googleappengine/issues/detail?id=4180&sort=priority&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner % 20Log
And here is the forum post: https://groups.google.com/forum/#!topic/google-appengine/js5CeRWLQZ0/discussion
The logging (as requested by Shay) shows that the Persistence Manager appears to take 6 seconds to initialize:
2012-03-11 15:32:47.543 /api/yyy 200 16811ms 0kb xxx/1.1 CFNetwork/548.1.4 Darwin/11.0.0
78.53.230.114 - - [11/Mar/2012:07:32:47 -0700] "POST /api/yyy HTTP/1.1" 200 94 - "zzz/1.1 CFNetwork/548.1.4 Darwin/11.0.0" "zzz.appspot.com" ms=16812 cpu_ms=6040 api_cpu_ms=82 cpm_usd=0.167820 pending_ms=5765 instance=00c71b117ca3858c47bdc41d5b30a732dd76eaaf
I 2012-03-11 15:32:37.196
www.server.xxxServlet getvvv: 1
I 2012-03-11 15:32:37.202
www.server.xxxServlet getvvv: hash
I 2012-03-11 15:32:37.207
www.server.xxxServlet getvvv: get PM (PersistenceManager pm = PMF.get().getPersistenceManager();)
I 2012-03-11 15:32:43.606
www.server.xxxServlet getvvv: get data
I 2012-03-11 15:32:47.355
www.server.xxxServlet getvvv: got data
I 2012-03-11 15:32:47.388
www.server.xxxServlet getvvv: done
and PMF is implemented as:
public final class PMF {
private static final PersistenceManagerFactory pmfInstance =
JDOHelper.getPersistenceManagerFactory("transactions-optional");
private PMF() {}
public static PersistenceManagerFactory get() {
return pmfInstance;
}
}
source to share
Ikai Lan replied on the google-appengine.googlegroups.com forum:
"Given that the SLA applies to HRDs and not master / slave applications, you will certainly get the best quality of service that carries over to HRD. In fact, I highly recommend you do that."
"With master / slave applications, we do our best to eliminate short term symptoms as well as major system problems without affecting maintenance, ..."
"We may announce maintenance in the very near future that will affect the maintenance of the main / sub applications."
Link: https://groups.google.com/d/msg/google-appengine/js5CeRWLQZ0/4mFqPWJQjSoJ
For me this means that there are currently problems with the GAE master / slave and a maintenance has been announced.
source to share