在 MySQL 8.4 中設定緩衝集區大小和重做日誌容量 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 MySQL 8.4 中設定緩衝集區大小和重做日誌容量

在 MySQL 8.4 中,Amazon RDS 預設會啟用 innodb_dedicated_server 參數。使用 innodb_dedicated_server 參數,資料庫引擎會計算 innodb_buffer_pool_sizeinnodb_redo_log_capacity 參數。如需如何計算這些參數的資訊,請參閱 MySQL 文件中的設定 InnoDB 緩衝集區大小重做日誌

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。這些預設值會導致較大的執行個體類別效能不佳。