RDS 服务器最多提供 40 个连接,如下所示以下文档
我正在使用 Magento 1.9,有时,达到最大数量后网站就无法使用。
您有什么推荐的方法来解决这个问题吗?
据我了解,如果我有 2 个 Web 服务器连接到 RDS 服务器,那么我应该有 2 个 RDS 连接,而不是更多。
答案1
AWS RDS max_connections 限制变量基于实例类型,因此您可以升级 RDS 或制作更多副本。
具有 max_connections 限制的 RDS 类型:
- t2.micro 66
- t2.小 150
- m3.中等 296
- t2.中等 312
- m3.大 609
- t2.大 648
- m4.大 648
- m3.xlarge 1237
- r3.大 1258
- m4.xlarge 1320
- m2.xlarge 1412
- m3.2xlarge 2492
- r3.xlarge 2540
更新 2017-07
{DBInstanceClassMemory/12582880}
如果您使用,则当前 RDS MySQL max_connections 设置默认为t2.micro如果 RAM 为 512MB,则 max_connections 可以是 (512*1024*1024)/12582880 ~= 40,等等。
每个 Web 服务器可以与 RDS 有许多连接,这取决于您来自 Web 服务器的 SQL 请求。
答案2
您可以max_connections
通过更新默认参数策略或创建新策略来更改该值 - 我建议采用后者。
- 转到 RDS
- 参数组
- 创建一个新的参数组(AWS 将保留所有默认设置)
- 搜索
max_connections
值 - 更改要使用的值
- 进入RDS实例并修改
- 选择新创建的参数组并重新启动实例,或者让 AWS 在下一个维护时段重新启动它
希望这可以帮助!
答案3
Postgresql t3-instances(default.postgres10 参数组)的实际信息:
- db.t3.micro-112 个最大连接数
- db.t3.small - 225 最大连接数
- db.t3.medium - 450 个最大连接数
- db.t3.large — 901 最大连接数
- db.t3.xlarge — 1802 最大连接数
- db.t3.2xlarge — 3604 最大连接数
default.postgres9 和 default.postgres11 类似
答案4
同时数据库连接的最大数量因数据库引擎类型和数据库实例类的内存分配而异。最大连接数在与数据库实例关联的参数组中设置,但 Microsoft SQL Server 除外,它在 SQL Server Managment Studio (SSMS) 中数据库实例的服务器属性中设置。
MariaDB / 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