如何增加 Google Cloud SQL Postgres 数据库的连接限制?
Posted
技术标签:
【中文标题】如何增加 Google Cloud SQL Postgres 数据库的连接限制?【英文标题】:How to increase the connection limit for the Google Cloud SQL Postgres database? 【发布时间】:2018-12-07 15:43:54 【问题描述】:Google Cloud SQL PostgreSQL 数据库的连接数相对较少。根据计划,这在 25 到 500 之间,而 Google Cloud SQL 中 mysql 的限制在 250 到 4000 之间,很快就会达到 4000。
我们目前为不同的客户在 Kubernetes 上运行并由同一个 Google Cloud SQL Postgres 服务器支持的许多试用实例。每个实例使用一组单独的数据库、角色和连接(每个服务一个)。我们已经达到了我们计划的连接限制(50),我们甚至还没有接近达到内存或 CPU 的限制。连接池似乎不是一种选择,因为连接与不同的用户。 我现在想知道为什么限制这么低,是否有办法增加限制而无需升级到更昂贵的计划。
【问题讨论】:
【参考方案1】:看起来 google 刚刚将其作为测试版功能发布。
在创建或编辑数据库实例时,您可以添加一个名为 max_connections
的标志,您可以在其中输入 14 到 262143 个连接的新限制。
【讨论】:
【参考方案2】:Public Issue Tracker 中有一个功能请求以公开并因此控制 PostgreSQL 中的max_connections
。 This comment(我在这里复制它)解释了现在设置连接数的原因:
Per-tier max_connections is now fully rolled out. As shown on
https://cloud.google.com/sql/faq#sizeqps, the limits are now:
Memory size, in GiB | Maximum concurrent connections
--------------------+-------------------------------
0.6 (db-f1-micro) | 25
1.7 (db-g1-small) | 50
3.75 up to 6 | 100
6 up to 7.5 | 150
7.5 up to 15 | 200
15 up to 30 | 250
30 up to 60 | 300
60 up to 120 | 400
120 and above | 500
I understand your frustration about the micro/small instances having fewer than 100
concurrent connections and the lack of control of this flag. We arrived at these values by
taking the available RAM, reducing it by overhead, shared buffers, autovacuum memory and
then dividing the remaining ram by typical per-connection memory and rounding off. This
gives us the number of connections that can be used without risk of hitting out-of-memory
condition
The basic premise of a fully managed service with an attached SLA is that we provide safe
hosting. This is what motivates us using a max_connections that is safe against OOM.
由于您已放弃连接池,您的选择是使用带有higher memory 的实例。
更新:
正如上述线程的a comment 中所述,最大连接数设置已更改,现在是:
此外,默认值现在可以是 overridden with flags,最多 260K 连接。
【讨论】:
这应该放在官方文档上。为了避免在接下来的 2 周内存之后浪费更多时间来解决这个问题,错误是“致命的:剩余的连接槽是为非复制超级用户连接保留的”。 Google 宣布增加连接限制:issuetracker.google.com/issues/37271935#comment99 小更新,增加连接数:cloud.google.com/sql/docs/…以上是关于如何增加 Google Cloud SQL Postgres 数据库的连接限制?的主要内容,如果未能解决你的问题,请参考以下文章
Google Cloud SQL - 数据库实例存储大小每天都在急剧增加
使用 Google App Engine 和 Google Cloud SQL 扩展 WordPress