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
innodb_dedicated_server
を有効にすると、innodb_buffer_pool_size
パラメータは DB インスタンスクラスのメモリに基づいて計算されます。次の表は、検出されたサーバーメモリと対応するバッファプールサイズを示しています。
検出されたサーバーメモリ | バッファプールサイズ |
---|---|
1 GB 未満 |
デフォルト値は 128 MB |
1 GB ~ 4 GB |
|
4 GB 超 |
|
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 に設定します。大きなインスタンスクラスの場合、これらのデフォルトではパフォーマンスが低下します。