本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 MySQL 8.4 中設定緩衝集區大小和重做日誌容量
在 MySQL 8.4 中,Amazon RDS 預設會啟用 innodb_dedicated_server 參數。使用 innodb_dedicated_server 參數,資料庫引擎會計算 innodb_buffer_pool_size 和 innodb_redo_log_capacity 參數。如需如何計算這些參數的資訊,請參閱 MySQL 文件中的設定 InnoDB 緩衝集區大小
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。這些預設值會導致較大的執行個體類別效能不佳。