如何增加 Amazon Aurora 数据库实例的最大连接数?

1 分钟阅读
0

我想增加 Amazon Aurora PostgreSQL 兼容版或 MySQL 兼容版数据库实例的最大连接数。

解决方法

使用以下方法增加与兼容 Aurora MySQL 或兼容 Aurora PostgreSQL 的数据库实例的最大连接数。

使用自定义参数组为 max_connections 设置更大的值

使用自定义集群级别或实例级别参数组为 max_connections 参数设置一个更大的值。提高 max_connections 参数不会导致中断。尽管您可以将 max_connections 的值增加到超出默认值,但这并不是最佳实践。这是因为当工作负载增加时,数据库实例可能会遇到问题。连接数量的增加会增加内存使用量提高,内存不足的数据库实例可能会崩溃。对于较小的数据库实例,情况尤其如此。

如果提高 max_connections 值,请务必监控资源的使用情况。另外,请咨询您的 DBA 以了解资源增加存在的问题。最佳实践是保留默认值,或者在需要更多连接时纵向扩展到更大的实例类。使用 Aurora 时,您可以使用 LEAST 函数来确定 max_connections:

LEAST({DBInstanceClassMemory/9531392},5000)

此函数在直到其等于或超过 5,000 之前会选择包含 DBInstanceClass 的数学方程。这意味着,它会随着实例类的更改而自动扩展,然后根据实例上的内存进行相应调整。有关更多信息,请参阅 Aurora PostgreSQL 数据库实例的最大连接数

将默认参数组更改为自定义参数组

如果数据库集群或实例使用的是原定设置参数组,则应将原定参数组更改为自定义参数组。您可以在集群级别或实例级别执行此操作。请确保将自定义数据库参数组与 Aurora 集群或实例相关联,然后重新启动该实例。新的自定义参数组与数据库实例关联后,可以修改 max_connections 参数值。

**注意:**更改参数组可能会导致中断。有关更多信息,请参阅使用数据库集群参数组

纵向扩展实例类

将数据库实例扩展到内存更多的数据库实例类。扩展 Amazon Relational Database Service (Amazon RDS) 实例(包括 Amazon Aurora 实例)会影响账户的账单。要了解更多信息,请参阅 Aurora 的数据库实例账单

**注意:**当您修改 Amazon Aurora 数据库集群时,将会发生停机。

Aurora Serverless 注意事项

对于 Amazon Aurora Serverless v1,max_connections 在参数组中无法配置,也无法由您配置。相反,max_connections 取决于与该集群关联的 Aurora 容量单位(ACU)。有关更多信息,请参阅确定 Aurora Serverless v1 的最大数据库连接数

对于 Aurora Serverless v2,设置 max_connections 可能会导致实例纵向扩展。这是因为内存分配是从实例上的当前连接数中开始的。这会强制使用扩缩点,然后增加实例的内存和 CPU 分配。这种内存增加是以增加当前的活动连接为代价,以此满足分配的 max_connections。

**注意:**设置 max_connections 可以提高您的实例账单,因为 Aurora Serverless 受 ACU/小时成本的约束。有关 Aurora Serverless 定价的更多信息,请参阅 Amazon Aurora 定价


相关信息

我如何增加 Amazon RDS for MySQL 或 Amazon RDS for PostgreSQL 实例的最大连接数?

AWS 官方
AWS 官方已更新 1 年前