MySQL 8.4 でのバッファプールサイズと REDO ログ容量の設定 - Amazon Relational Database Service

MySQL 8.4 でのバッファプールサイズと REDO ログ容量の設定

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」と「Redo Log」を参照してください。

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

検出されたサーバーメモリ バッファプールサイズ

1 GB 未満

デフォルト値は 128 MB

1 GB ~ 4 GB

検出されたサーバーメモリ * 0.5

4 GB 超

検出されたサーバーメモリ * 0.75

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

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

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 は後者の 2 つのパラメータをそれぞれ 128 MB と 100 MB に設定します。大きなインスタンスクラスの場合、これらのデフォルトではパフォーマンスが低下します。