我的实例的 AWS RDS max_connection 设置是否有限制?

问题描述 投票:0回答:2

我有一个免费的 RDS PostgreSQL 数据库 db.t2.micro(1 核,1 Gib)。我的架构导致 RDS 崩溃,因为它达到了最大并发连接数。

当我查询

select * from pg_settings where name='max_connections'
时,结果是87。

我根据内存找到了这个关于每个实例的

max_connection
属性容量的公式:

LEAST({DBInstanceClassMemory/9531392},5000)

对于我的实例,数字是104,我将参数组修改为这个值,但我的RDS仍然崩溃。

我最后一次尝试将

max_connections
更新为 500,相信它不会工作,因为限制是 104。但令我惊讶的是,数据库工作并且可以处理所有并发连接(104 以上):

显然,我错过了一些东西。

对于我的实例来说,真的有

max_connections
的限制吗?

如果我更改

max_connection
设置,我的实例的定价会发生变化吗?

另外,我很好奇图形中的水平线代表什么,因为它处于我最初

max_connection
设置的水平,而在更改之前,它不存在

谢谢!

postgresql amazon-web-services amazon-rds
2个回答
1
投票

根据 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections 中的信息,您应该已达到那里的限制。

也就是说,我猜这里发生了两种可能的事情之一:

  • AWS 不强制执行这些限制。我猜他们可能会根据此处的实例大小提出限制。
  • 允许某种“爆发”。与 IOPS 类似,可能会有一个小的“突发”平衡,您可以暂时扩展该平衡而不影响服务。

0
投票

该公式只是 AWS 的默认值,而 Postgres 的允许值范围是 6–8388607

也就是说,目前还不清楚为什么你的 max_connections 设置是 87(而我的 t3.micro)是 81。我很高兴它适用于更高的连接数!

© www.soinside.com 2019 - 2024. All rights reserved.