在 MySQL 8.4 中配置缓冲池大小和重做日志容量
在 MySQL 8.4 中,Amazon RDS 默认启用 innodb_dedicated_server
参数。使用 innodb_dedicated_server
参数,数据库引擎可计算 innodb_buffer_pool_size
和 innodb_redo_log_capacity
参数。有关如何计算这些参数的信息,请参阅 MySQL 文档中的 Configuring InnoDB Buffer Pool Size
启用 innodb_dedicated_server
后,将根据数据库实例类内存计算 innodb_buffer_pool_size
参数。下表显示了检测到的服务器内存和相应的缓冲池大小。
检测到的服务器内存 | 缓冲池大小 |
---|---|
< 1 GB |
默认值为 128 MB |
1 GB 到 4 GB |
|
> 4 GB |
|
innodb_redo_log_capacity
参数会随实例类自动扩展到(vCPU 数量 / 2)GB,最大可达 16 GB。较大的实例类具有更大的重做日志容量,这样可以提高写入密集型工作负载的性能和弹性。
从 MySQL 8.0 升级到 MySQL 8.4 之前,请务必增加存储空间,以适应升级完成后可能出现的重做日志大小的增加。有关更多信息,请参阅 增加数据库实例存储容量。
如果您不希望 innodb_dedicated_server
参数计算 innodb_buffer_pool_size
和 innodb_redo_log_capacity
参数的值,则可以通过在自定义参数组中为这些值设置特定值来覆盖这些值。或者,您可以禁用 innodb_dedicated_server
参数,并在自定义参数组中设置 innodb_buffer_pool_size
和 innodb_redo_log_capacity
参数的值。有关更多信息,请参阅 原定设置和自定义参数组。
如果您通过将 innodb_dedicated_server
参数设置为 0
来禁用该参数,并且未为 innodb_buffer_pool_size
和 innodb_redo_log_capacity
参数设置值,则 Amazon RDS 会将后两个参数分别设置为 128 MB 和 100 MB。这些默认值会导致在较大的实例类上性能不佳。