在 MySQL 8.4 中配置缓冲池大小和重做日志容量 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 MySQL 8.4 中配置缓冲池大小和重做日志容量

在 MySQL 8.4 中,Amazon RDS 默认启用 innodb_dedicated_server 参数。使用 innodb_dedicated_server 参数,数据库引擎可计算 innodb_buffer_pool_sizeinnodb_redo_log_capacity 参数。有关如何计算这些参数的信息,请参阅 MySQL 文档中的 Configuring InnoDB Buffer Pool SizeRedo Log

启用 innodb_dedicated_server 后,将根据数据库实例类内存计算 innodb_buffer_pool_size 参数。下表显示了检测到的服务器内存和相应的缓冲池大小。

检测到的服务器内存 缓冲池大小

< 1 GB

默认值为 128 MB

1 GB 到 4 GB

检测到的服务器内存 * 0.5

> 4 GB

检测到的服务器内存 * 0.75

innodb_redo_log_capacity 参数会随实例类自动扩展到(vCPU 数量 / 2)GB,最大可达 16 GB。较大的实例类具有更大的重做日志容量,这样可以提高写入密集型工作负载的性能和弹性。

从 MySQL 8.0 升级到 MySQL 8.4 之前,请务必增加存储空间,以适应升级完成后可能出现的重做日志大小的增加。有关更多信息,请参阅 增加数据库实例存储容量

如果您不希望 innodb_dedicated_server 参数计算 innodb_buffer_pool_sizeinnodb_redo_log_capacity 参数的值,则可以通过在自定义参数组中为这些值设置特定值来覆盖这些值。或者,您可以禁用 innodb_dedicated_server 参数,并在自定义参数组中设置 innodb_buffer_pool_sizeinnodb_redo_log_capacity 参数的值。有关更多信息,请参阅 原定设置和自定义参数组

如果您通过将 innodb_dedicated_server 参数设置为 0 来禁用该参数,并且未为 innodb_buffer_pool_sizeinnodb_redo_log_capacity 参数设置值,则 Amazon RDS 会将后两个参数分别设置为 128 MB 和 100 MB。这些默认值会导致在较大的实例类上性能不佳。