我想增加我的 Amazon Aurora PostgreSQL 兼容版或 Amazon Aurora MySQL 兼容版数据库实例的最大连接数。
解决方法
数据库实例参数组中的 max_connections 参数决定了 Aurora 数据库实例的最大连接数。此参数应设置为支持所有必需的客户端连接,并额外预留至少三个连接以供 AWS 自动化使用。
增加 max_connections 值时,最佳做法是监控资源的使用情况。连接数增加会导致内存使用量增加,内存不足的数据库实例可能会意外关闭。较小的数据库实例更有可能出现此问题。
有关增加问题,请咨询您的数据库管理员。最佳做法是保留默认值,或在需要更多连接时纵向扩展到更大的实例类。如果您选择扩展到内存更大的数据库实例类,这将会影响账户的计费。
使用以下方法来增加 Aurora MySQL 兼容版或 Aurora PostgresSQL 兼容版数据库实例的最大连接数。
**注意:**当您修改 Amazon Aurora 数据库集群时,会出现停机。
确定您的实例的 max_connection
要确定您的 Amazon Aurora 实例的 max_connections,请使用以下 LEAST 函数:
LEAST({DBInstanceClassMemory/9531392},5000)
此函数会根据 DBInstanceClass 选择数学公式,直到 max_connections 等于或大于 5,000。这意味着 max_connections 会随着实例类更改自动扩展,然后根据实例的内存量进行调整。有关详细信息,请参阅 Aurora PostgreSQL 数据库实例的最大连接数。
要检查您的当前设置,请使用以下 SQL 查询之一。
Aurora PostgreSQL
postgres=> show max_connections;
-or-
Aurora MySQL
SHOW GLOBAL VARIABLES LIKE 'max_connections';
使用自定义参数组为 max_connections 设置更大的值
对于 Aurora PostgreSQ,请使用自定义参数组在集群级别或实例级别为 max_connections 参数设置更大的值。
对于 Aurora MySQL,请使用自定义参数组在实例级别为 max_connections 参数设置更大的值。
完成以下步骤:
- 在集群级别或实例级别创建自定义参数组。<br id=hardline_break/>
**注意:**更改参数组时可能会发生中断。
- 将自定义参数组与您的 Amazon Aurora 集群或实例关联,然后重启该实例。
- 将新的自定义参数组与您的数据库实例关联后,您可以增加 max_connections 参数的值。<br id=hardline_break/>
**注意:**增加 max_connections 参数的值时,不会发生中断。
Aurora Serverless 的注意事项
Aurora Serverless v2 保持 max_connections 值恒定,防止在扩展操作期间连接中断。默认值基于数据库实例内存大小的公式计算得出。有关更多信息,请参阅 Aurora MySQL 数据库实例的最大连接数和 Aurora PostgreSQL 数据库实例的最大连接数。
Aurora Serverless v2 使用最大 Aurora 容量单位 (ACU) 对应的内存大小来计算公式,而非当前的 ACU 值。更改默认设置时,请使用公式变量而非常量值。这种方法使 Aurora Serverless v2 能够根据最大容量应用合适的设置。
更改最大容量后,请重启 Aurora Serverless v2 数据库实例以更新 max_connections 值。Aurora Serverless v2 的 max_connections 参数是静态的。
**注意:**对于最小容量为 0 或 0.5 ACU 的 PostgreSQL 兼容版数据库实例,max_connections 上限为 2,000。有关更多信息,请参阅 Aurora Serverless v2 的最大连接数
相关信息
如何增加 Amazon RDS for MySQL 或 Amazon RDS for PostgreSQL 实例的最大连接数?