【问题标题】:AppEngine frontend to DB latency temporarily ~10 secs every ~20 calls?App Engine 前端到 DB 的延迟每 ~ 20 次调用临时 ~ 10 秒?
【发布时间】:2012-03-09 17:48:09
【问题描述】:

这(见下表)自 3 月 7 日开始发生。 当然,这可能是因为实例加载和卸载。 但是您知道 GAE 出现这种行为的其他原因吗?

这不是高复制实例。在测试期间,我们有多达 5 个实例 F2 运行,仅使用我们的测试客户端调用。基本上有DB调用、图像处理和memcache使用。

已经有 2 个问题看起来相同: 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;
    }
}

【问题讨论】:

    标签: java google-app-engine


    【解决方案1】:

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

    【讨论】:

    • 我在上述问题中添加了有关持久性管理器的示例日志和信息。
    【解决方案2】:

    Ikai Lan 在论坛 google-appengine.googlegroups.com 中回复:

    “鉴于 SLA 适用于 HRD 而不是主/从应用程序,迁移到 HRD 肯定会获得更好的服务质量。事实上,我强烈建议您这样做。”

    “对于主/从应用程序,我们尽我们所能解决短期症状以及底层系统问题,而不会影响服务,......”

    “我们可能会在不久的将来宣布一项维护,这将影响主/从应用程序的服务。”

    链接: https://groups.google.com/d/msg/google-appengine/js5CeRWLQZ0/4mFqPWJQjSoJ

    对我来说,这意味着 GAE 主/从目前存在问题,并且已发布维护公告。

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 2017-08-14
      • 2014-11-24
      • 2012-01-08
      • 2013-02-28
      • 1970-01-01
      • 2011-12-28
      • 2022-01-25
      • 2011-08-06
      相关资源
      最近更新 更多