

# MySQL 8.4 でのバッファプールサイズと REDO ログ容量の設定
<a name="Appendix.MySQL.CommonDBATasks.Config.Size.8.4"></a>

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](https://dev.mysql.com/doc/refman/8.4/en/innodb-buffer-pool-resize.html)」と「[Redo Log](https://dev.mysql.com/doc/refman/8.4/en/innodb-redo-log.html)」を参照してください。

`innodb_dedicated_server` を有効にすると、`innodb_buffer_pool_size` パラメータは DB インスタンスクラスのメモリに基づいて計算されます。次の表は、検出されたサーバーメモリと対応するバッファプールサイズを示しています。


| 検出されたサーバーメモリ | バッファプールサイズ | 
| --- | --- | 
|  1 GB 未満  |  デフォルト値は 128 MB  | 
|  1 GB ～ 4 GB  |  *検出されたサーバーメモリ* \$1 0.5  | 
|  4 GB 超  |  *検出されたサーバーメモリ* \$1 0.75  | 

`innodb_redo_log_capacity` パラメータは、インスタンスクラスに合わせて自動的に (vCPU の数 / 2) GB にスケールされ、最大 16 GB まで拡張されます。インスタンスクラスが大きいほど REDO ログ容量が大きくなり、書き込み負荷の高いワークロードのパフォーマンスと耐障害性が向上します。

MySQL 8.0 から MySQL 8.4 にアップグレードする前に、アップグレードの完了後に発生する可能性のある REDO ログのサイズの増加に対応するために、ストレージ容量を増やしてください。詳細については、「[DB インスタンスストレージの容量を増加する](USER_PIOPS.ModifyingExisting.md)」を参照してください。

`innodb_dedicated_server` パラメータで `innodb_buffer_pool_size` および `innodb_redo_log_capacity` パラメータの値を計算する必要がない場合は、カスタムパラメータグループで具体的な値を設定することで、これらの値を上書きできます。または、`innodb_dedicated_server` パラメータを無効にし、カスタムパラメータグループで `innodb_buffer_pool_size` および `innodb_redo_log_capacity` パラメータの値を設定することもできます。詳細については、「[デフォルトおよびカスタムパラメータグループ](parameter-groups-overview.md#parameter-groups-overview.custom)」を参照してください。

`innodb_dedicated_server` パラメータを `0` に設定して無効にし、`innodb_buffer_pool_size` および `innodb_redo_log_capacity` パラメータの値を設定しないと、Amazon RDS は後者の 2 つのパラメータをそれぞれ 128 MB と 100 MB に設定します。大きなインスタンスクラスの場合、これらのデフォルトではパフォーマンスが低下します。