我有一个免费的 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
设置的水平,而在更改之前,它不存在
谢谢!
根据 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections 中的信息,您应该已达到那里的限制。
也就是说,我猜这里发生了两种可能的事情之一:
该公式只是 AWS 的默认值,而 Postgres 的允许值范围是 6–8388607。
也就是说,目前还不清楚为什么你的 max_connections 设置是 87(而我的 t3.micro)是 81。我很高兴它适用于更高的连接数!