【问题标题】:Is google app engine 1.6.4 slower in local?谷歌应用引擎 1.6.4 在本地是否较慢?
【发布时间】:2012-04-18 12:04:04
【问题描述】:

原始问题

自从我从 1.6.3 更改版本以来。到 1.6.4 我在托管模式下与 GWT 一起工作时遇到严重的性能问题。

2012 年 4 月 18 日更新

在开发环境中的 1.6.4.1 中也可以重现该问题。 现在最好是降级到 1.6.3

2012 年 9 月 7 日更新

根据 Kris Giesing 的说法: 这在 1.7.0 中仍未修复。一个请求在 1.4.3 中需要 330 毫秒来处理,在 1.6.3 中需要 415 毫秒来处理,而在 1.7.0 中需要 13740 毫秒来处理。这来自于 Java 分析代码的计时(无 I/O) - 几乎是 40 倍的减速。

2012 年 9 月 8 日更新

Google 在 google appengine 的公开问题列表的issue 7282 中承认了该问题。

【问题讨论】:

  • 我也注意到了,我的代码的某些部分运行速度慢了好几倍。我在调试时注意到,对于基本上每个方法调用或类实例化,一个步骤都会进入 Runtime.checkRestricted 之类的东西,这在早期版本中不会发生。我还没有在云中测试过 1.6.4,所以我不知道它是否只是有问题的本地服务器。我现在的理论是,他们引入了某种对受限代码/类/方法的检查,以防止在线不支持的东西。但这是一个疯狂的猜测。不过知道在线表现会很有趣。
  • 请注意,我不使用 GWT,而是使用纯 JSP 和 twig-persist 来实现对象持久性
  • 我使用 Spring 和 Objectify,GWT 的瓶颈是服务器端的 RPC 实现。整件事让一切变得缓慢。我降级到了 1.6.3。
  • 票证已修复:项目成员 tmat...@google.com 的评论 2,今天(10 小时前)应该用 1.6.4.1 修复。
  • 这在 1.7.0 中仍未修复。一个请求在 1.4.3 中需要 330 毫秒来处理,在 1.6.3 中需要 415 毫秒来处理,而在 1.7.0 中需要 13740 毫秒来处理。这是从 Java 分析代码的计时(无 I/O)开始的 - 几乎是 40 倍的减速。

标签: java performance google-app-engine gwt


【解决方案1】:

这是 1.6.4 中确认的性能回归。我们 (Google) 正在整理一个包含修复程序的补丁程序,我们会尽快提供。

对不起

(我是介绍回归的人)

【讨论】:

  • 您好,感谢您的信息。任何更新?出于好奇,从编码到发布修复需要多长时间?
  • 显然在 1.7.0 中又被破坏了。请参阅问题中的评论。你有这方面的信息吗?
  • 嗨,Max,感谢您清理它。不过,我有一个关键问题,回归仅适用于在开发服务器中本地运行的应用程序,还是也发生在我们部署到 App Engine 的应用程序中?
【解决方案2】:

即使在 sdk 1.6.4.1 之后......它仍然很慢!

问题是处理请求,耗时太长。我不能再用真实数据进行测试,因为它太慢了。

有人同意吗?

当我尝试对 50 个实体进行批量删除 (pm.deletePersistentAll(ltToBeDelete);) 时,我花了 10 秒。

对不起,我将不得不降级到 1.6.3 SDK.. 太难过了 :(

【讨论】:

  • 在我的本地版本中,makepersist 函数需要大约 10 秒才能真正完成,事务完成后...
  • @johnvdenley 我使用的是 sdk 1.8.5,现在没有这个问题了...你用的是哪个版本?
【解决方案3】:

是的,肯定有问题: http://code.google.com/p/googleappengine/issues/detail?id=7282

1.6.4 启动速度极慢,处理每个请求的时间异常长。

给它加星标!

【讨论】:

    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    • 1970-01-01
    • 2014-01-10
    • 2013-01-13
    • 2011-05-06
    相关资源
    最近更新 更多