java - AppEngine前端到DB的延迟大约每20个调用约10秒?

原文 标签 java google-app-engine

从3/7开始,这种情况(请参见下表)正在发生。
当然,这可能是由于实例加载和卸载造成的。
但是您知道GAE如此行事的其他原因吗?

这不是高复制实例。在测试期间,仅通过测试客户端调用,最多可以运行5个实例F2。基本上有数据库调用,图像处理和内存缓存用法。

已经有两个看起来相同的问题:
http://code.google.com/p/googleappengine/issues/detail?id=4180&sort=priority&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log

http://code.google.com/p/googleappengine/issues/detail?id=6309&sort=priority&colspec=ID%20Type%20Component%20Status%20Stars%20Summary%20Language%20Priority%20Owner%20Log

论坛中有一个条目:
https://groups.google.com/forum/#!topic/google-appengine/js5CeRWLQZ0/discussion



日志记录(Shay请求)显示Persistence Manager似乎需要6秒钟来初始化:

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


PMF的实现方式为:

public final class PMF {
    private static final PersistenceManagerFactory pmfInstance =
        JDOHelper.getPersistenceManagerFactory("transactions-optional");

    private PMF() {}

    public static PersistenceManagerFactory get() {
        return pmfInstance;
    }
}

最佳答案

您看不到任何统计信息的区域通常是您的代码正在运行,当输入请求时,统计信息便开始运行,我认为这与实例加载没有任何关系。
我建议添加日志以查看处理程序代码的流程。

相关文章:

javascript - 为什么我不能处理$ .ajax返回的HTTP状态代码?

google-app-engine - 如何在GAE mapreduce上动态传递参数到map函数?

python - 从PyCharm Pro中的Google App Engine SDK导入时出现问题

java - Oracle SQL Developer的JDK安装的完整路径名

java - 在匿名类中测试方法时,如何使用Powermockito来模拟新对象的构造?

java - 尝试将二进制转换为十六进制时不一致获取NumberFormatException

java - ComboBox-打印选定的项目

google-app-engine - 可安装的Google App Engine应用

java - 如何在Java中使Google数据存储持久化

java - 数组递增和i ++问题