【问题标题】:What will happen if my Google's App Engine instance will try to make more than 100 concurrent connections to a MySQL instance?如果我的 Google 的 App Engine 实例尝试与 MySQL 实例建立超过 100 个并发连接,会发生什么情况?
【发布时间】:2020-02-13 16:00:23
【问题描述】:

this page 的末尾有一段说:“在标准环境中运行的每个 App Engine 实例与一个实例的并发连接不能超过 100 个”。这是什么意思?如果有一个 App Engine 实例达到该限制,它会出错还是只会创建另一个 App Engine 实例?如何避免此限制?

【问题讨论】:

  • 除非你有错误的软件无法关闭连接,或者你试图在没有连接管理的线程中工作,否则你永远不应该打开那么多连接。本文可能会帮助您了解连接管理。 jhanley.com/…
  • @JohnHanley 感谢您的文章。即使每秒有 200 000 多个活跃用户,我也不应该打开那么多连接?
  • 祝您在一个 App Engine 实例上获得这么多用户。试着每秒思考几十个。通过良好的连接管理,您只需要一个与数据库的连接。
  • @JohnHanley :) 所以,如果有这么多用户,他们都会自动拆分到新的 App Engine 实例中,对吗?
  • 答案取决于您如何为 App Engine 设置缩放。用更具体的细节编辑您的问题,以便您得到一个好的答案。不要使用 cmets 来“聊天”。我建议删除这个问题,研究我的链接并研究更多文档。然后在您遇到我们可以帮助您解决的问题时提出问题。

标签: google-app-engine google-cloud-sql


【解决方案1】:

这个限制是每个实例的,这意味着你的每个应用引擎实例都有这个限制并且是独立的。

此外,默认情况下 App Engine 实例最多可处理 10 个并发请求,可以将其更改为 100,但不能超过此数量。因此,达到此限制的唯一方法是应用程序有问题并且没有关闭连接。

另外建议在连接 Cloud SQL 时实现Connection Pools,这会限制来自每个实例的连接总数,这将再次降低达到此限制的机会。

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多