【问题标题】:About App Engine scalability and the 60 seconds timeout关于 App Engine 可扩展性和 60 秒超时
【发布时间】:2014-09-11 03:37:09
【问题描述】:

我有一个配置了 F2 实例和 D2 云 sql 实例的 app-engine+spring+hibernate 移动/网络后端。我还通过将空闲实例配置为最小 1 来配置预热。 我有两个问题:

  1. 是否可以将云 sql 实例配置为纵向扩展 需要吗?
  2. 我的应用程序大约需要 20-40 秒才能启动(在移除自动装配并执行此处描述的所有优化提示后:https://developers.google.com/appengine/articles/spring_optimization)。在负载测试期间,某些请求的延迟仍然很慢(约 20-40 秒)。我相信这是因为应用引擎启动了新实例,并且它们需要很长时间才能启动。实例启动并运行后,一切正常,直到有太多用户连接并再次出现延迟。除了配置更多的最小活动实例之外,有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: spring hibernate google-app-engine scalability google-cloud-sql


    【解决方案1】:

    关于 Cloud SQL 的问题,目前它不具备自动伸缩能力。

    【讨论】:

    • :( 我猜这不太好。是否可以使用计算引擎负载均衡器和内存缓存来扩展数据库?是否可以在应用引擎上使用休眠启用缓存?
    【解决方案2】:

    正如 Tony 所说,您无法将 Cloud SQL 配置为根据需求自动扩展。当然,您可以将其配置为从一开始就满足更高的预期需求。

    另一方面,我想建议您可以使用应用服务器做的不同事情:

    1. 从 F2 更改为 F4 或 F4_1G(如果您使用大量内存),看看这是否会减少您的启动时间。
    2. 如果您还没有这样做,您可以使用 AppStats [1] 来更好地了解哪些是您的应用程序的瓶颈。如果只是启动时间,并且(1)没有帮助,很抱歉配置更多空闲服务器将是您正在寻找的答案。

    [1]https://developers.google.com/appengine/docs/java/tools/appstats

    【讨论】:

    • 谢谢!是的,我使用了应用统计信息。那里一切看起来都很好,唯一的问题是启动时间。当我转到 F4 时,启动时间减少了,一个实例能够为更多用户提供服务,所以这可能是答案,但对我来说仍然很奇怪。我希望应用引擎能够更好地扩展。也许我可以做更多的优化来加快启动速度?
    • 恐怕最重要的优化已经包含在您最初引用的文档以及 Tony 和我的建议中。
    • 关于延迟加载或减少 bean 数量的任何想法?你知道怎么做的任何技巧吗?
    • 很遗憾,这不是我的经验领域。
    猜你喜欢
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    相关资源
    最近更新 更多