AWS RDS 连接限制

Ala*_*ran 76 database amazon-web-services rds amazon-rds

RDS 服务器最多提供 40 个连接,如以下文档中所示,
我使用的是 Magento 1.9,在某些时候,我达到了最大连接数,然后网站停止服务。
你有什么推荐的方法来解决这个问题吗?

根据我的理解,如果我有 2 个 Web 服务器连接到 RDS 服务器..那么我应该有 2 个 RDS 连接,而不是更多。

Nic*_*sai 105

AWS RDS max_connections 限制变量基于实例类型,因此您可以升级 RDS 或制作更多副本。

具有 max_connections 限制的 RDS 类型:

  • t2.micro 66
  • t2.small 150
  • m3.medium 296
  • t2.medium 312
  • m3.大609
  • t2.large 648
  • m4.大648
  • m3.xlarge 1237
  • r3.大 1258
  • m4.xlarge 1320
  • m2.xlarge 1412
  • m3.2xlarge 2492
  • r3.xlarge 2540

2015 年AWS RDS MySQL Instance Sizes中的max_connections引用

更新 2017-07

当前 RDS MySQL max_connections 设置默认为{DBInstanceClassMemory/12582880},如果您使用512MB RAM 的t2.micro,则 max_connections 可能是 (512*1024*1024)/12582880 ~= 40,依此类推。


每个 Web 服务器可以有多个到 RDS 的连接,这取决于您来自 Web 服务器的 SQL 请求。

  • 您可以通过使用命令 `show variables like 'max_connections';` 查询该 RDS MySQL 来检查该值。 (3认同)
  • 您可以创建一个新的“参数组”并将“max_connections”的值更改为您想要的值。这将是您的 RDS 实例的新连接限制。 (3认同)
  • 我检查了 RDS 参数组,max_connections 默认为 `{DBInstanceClassMemory/12582880}`,所以当你使用 t2.micro 和 512MB RAM 时,max_connections 可能是 `(512*1024*1024)/12582880 = 40.69`解释您的 40 个最大连接数。 (2认同)
  • RDS `max_connection` 已更改为 **DBInstanceClassMemory** / **9531392** 例如 - 对于具有 4GB 内存的 `t2.medium`。它是 - 4*1024*1024*1024/9531392 = **450** (2认同)
  • 这个答案在 2019 年成立。你总是可以通过做`SHOW VARIABLES WHERE Variable_name='max_connections'`来检查自己 (2认同)

小智 49

您可以max_connections通过更新默认参数策略或创建一个新参数来更改该值 - 我建议使用后者。

  • 前往 RDS
  • 参数组
  • 创建一个新的参数组(AWS 会将所有内容保留为默认值)
  • 寻找max_connections价值
  • 更改要使用的值
  • 转到RDS实例并修改
  • 选择创建的新参数组并重新启动实例或让 AWS 在下一个维护时段重新启动它

希望这可以帮助!

  • <3 这应该是公认的答案 (3认同)
  • 即使我将 max_connections 设置为 1000,rds 仍然只允许在微型实例上有 100 个最大连接 (3认同)

小智 14

Postgresql t3-instances 的实际信息(default.postgres10 参数组):

  • db.t3.micro - 112 个最大连接数
  • db.t3.small - 225 个最大连接数
  • db.t3.medium - 450 个最大连接数
  • db.t3.large - 901 max_connections
  • db.t3.xlarge - 1802 最大连接数
  • db.t3.2xlarge - 3604 最大连接数

它类似于 default.postgres9 和 default.postgres11


小智 7

登录到您的 RDS 实例(使用 MySQL 客户端)并运行以下查询:

SHOW VARIABLES LIKE 'max_connections';
Run Code Online (Sandbox Code Playgroud)


小智 5

最大并发数据库连接数因数据库引擎类型和数据库实例类的内存分配而异。最大连接数在与数据库实例关联的参数组中设置,但 Microsoft SQL Server 除外,它在 SQL Server Managment Studio (SSMS) 的数据库实例的服务器属性中设置。

玛丽亚数据库/MySQL {DBInstanceClassMemory/12582880}

甲骨文 LEAST({DBInstanceClassMemory/9868951}, 20000)

PostgreSQL LEAST({DBInstanceClassMemory/9531392}, 5000)

SQL服务器 0 (unlimited)

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections