首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google App Engine和Google Cloud SQL的连接池

使用Google App Engine和Google Cloud SQL的连接池
EN

Stack Overflow用户
提问于 2019-07-31 05:38:43
回答 1查看 1.3K关注 0票数 0

在Google App Engine中使用数据库连接池有很多问题,但最近发生了很多变化。到目前为止,我从来没有得到过一个连接池来使用GAE。然而,我认为最近的一些开发可能允许连接池工作,这可能是为什么在Google文档(似乎最近更新)中提到它的原因。

https://cloud.google.com/sql/docs/mysql/connect-app-engine

有人能确认可以使用连接池吗?

1)我们使用了Google Cloud SQL第一代,数据库可以停用(进入睡眠状态)。这将使任何现有的连接失效。

使用第二代数据库时,无需停用数据库。所以这可能会解决这个问题。

2)许多连接池实现都使用线程。

随着Java 8在GAE上的支持,看起来线程是被允许的。

3)有人认为GAE有限的数据库连接数(12个)是使用连接池的一个原因。连接池大小可以设置为GAE的限制,因此应用程序永远不会超过该限制。

a)首先,根据数据库的大小,文档显示连接的数量要多得多。

https://cloud.google.com/sql/docs/quotas

b)其次,如果GAE应用程序有限制,那么限制是针对单个服务器实例还是针对整个GAE应用程序?

任何确认上述想法有意义的人都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-07-31 16:58:29

关于1)是的,第二代云SQL实例,您的实例不会下线,除非是为了进行维护等。

2)我不明白为什么不能使用线程连接到第二代云SQL数据库。使用Java 8,您完全可以做到这一点。要检查您打开了多少线程,可以运行mysql> SHOW STATUS WHERE Variable_name = 'Threads_connected';

对于3a),我会使用您已经提供的官方文档链接,但请记住,数据库连接消耗服务器和连接的应用程序上的资源。始终使用良好的连接管理实践,以最大限度地减少应用程序的占用空间,降低超过云SQL连接限制的可能性。12个连接的限制在过去确实存在,但现在已经不存在了。

3b)当限制或配额涉及Google app Engine应用程序时,除非指定为每个实例,否则它是针对整个应用程序的。更具体地说,对于云SQL连接,您可以找到限制here,实际上有一个特定于实例的限制。对于在标准环境中运行的每个App Engine实例,不能有超过100个并发连接。

我希望这对你有帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57280384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档