すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ApsaraDB RDS for MySQLインスタンスのInnoDBバッファプールのサイズを変更する

最終更新日:Jun 12, 2024

このトピックでは、ビジネス要件に基づいてApsaraDB RDS for MySQLインスタンスのinnodb_buffer_pool_sizeパラメーターを設定して、RDSインスタンスのパフォーマンスを向上させる方法について説明します。

前提条件

RDSインスタンスは、次のいずれかのRDSエディションを実行します。

  • RDS高可用性エディション

  • RDSベーシックエディション

  • RDSクラスターエディション

制限事項

サーバーレスRDSインスタンスのinnodb_buffer_pool_sizeパラメーターの値を変更することはできません。 InnoDBバッファプールのサイズは、サーバーレスRDSインスタンスの仕様によって異なります。

背景情報

innodb_buffer_pool_sizeパラメーターを再設定して、RDSインスタンスのInnoDBバッファプールのサイズを変更できます。 このパラメータの値は、次の式を使用して計算されます。

{DBInstanceClassMemory * X/Y}

例:

{DBInstanceClassMemory * 7/10}
説明
  • DBInstanceClassMemoryはシステム変数で、RDSインスタンスのメモリ容量を指定します。

  • Xは分子であり、Yは分母である。

  • InnoDBバッファプールのサイズは、[128 MB, DBInstanceClassMemory × 8/10] の範囲内でなければなりません。 最小サイズは128 MBです。 最大サイズは、RDSインスタンス用に購入したメモリ容量の80% です。

RDSインスタンスのInnoDBバッファプールのデフォルトサイズは、次のルールに基づいて計算されます。

  • RDSインスタンスがクラウドディスクを使用する汎用インスタンスである場合、またはRDSインスタンスがローカルディスクを使用する場合、InnoDBバッファプールのデフォルトサイズは、次の式を使用して計算されます。InnoDBバッファプールのデフォルトサイズ=RDSインスタンスの購入メモリ容量 × 0.75

  • RDSインスタンスがクラウドディスクを使用する専用インスタンスである場合、InnoDBバッファプールのデフォルトサイズは、次の式を使用して計算されます。InnoDBバッファプールのデフォルトサイズ=(RDSインスタンスの購入済みメモリ容量-RDSインスタンスの予約済みメモリ容量) × 0.75

    説明
    • RDSインスタンスがクラウドディスクを使用する専用インスタンスである場合、RDSインスタンスの予約メモリ容量 (MB) は次の式を使用して計算されます。

      MIN (RDSインスタンスの購入メモリ容量 /2, 2048) + MAX (RDSインスタンスのCPUコア数 × 64, RDSインスタンスの購入メモリ容量 /64) + (RDSインスタンスの購入メモリ容量 /64) + 285
    • InnoDBバッファープールのデフォルトサイズは、128の整数倍です。 計算された結果が128の整数倍でない場合、結果は128の整数倍である最も近い整数に丸められます。 たとえば、RDSインスタンスは1,024 MBのメモリを提供し、計算結果は268、128の倍数である最も近い整数は256です。 この場合、RDSインスタンスのInnoDBバッファプールのデフォルトサイズは256 MBです。

次の表に、クラウドディスクを使用する専用RDSインスタンスのInnoDBバッファプールのデフォルトサイズと最大サイズを示します。

CPUコアの数

メモリ容量 (単位: MB)

デフォルトのバッファプールサイズ (単位: MB)

最大バッファプールサイズ (単位: MB)

2

4,096

1,024

1,024

2

8,192

4,096

4,096

2

16,384

9,216

10,240

4

8,192

4,096

4,096

4

16,384

9,216

10,240

4

32,768

21,504

22,528

8

16,384

9,216

10,240

8

32,768

21,504

22,528

8

65,536

45,056

48,128

12

24,576

15,360

16,384

12

49,152

33,792

35,840

12

98,304

69,632

73,728

16

32,768

21,504

22,528

16

65,536

45,056

48,128

16

131,072

93,184

99,328

24

49,152

32,768

34,816

24

98,304

69,632

73,728

24

196,608

140,288

149,504

32

65,536

45,056

47,104

32

131,072

93,184

99,328

32

262,144

188,416

200,704

52

98,304

67,584

72,704

52

196,608

140,288

149,504

52

393,216

283,648

302,080

64

262,144

188,416

200,704

64

524,288

378,880

403,456

102

786,432

569,344

607,232

104

196,608

138,240

147,456

104

393,216

282,624

302,080

InnoDBバッファープールのサイズは、次の式を使用して得られる結果の整数倍である必要があります。innodb_buffer_pool_chunk_sizeパラメーターの値 × innodb_buffer_pool_instancesパラメーターの値。 InnoDBバッファープールのサイズが式を使用して取得した結果の整数倍でない場合、ApsaraDB RDSはサイズを結果の整数倍に変更します。 たとえば、数式を使用して取得した結果が1 GBで、innodb_buffer_pool_sizeパラメーターを1.5 GBに設定した場合、ApsaraDBはinnodb_buffer_pool_sizeパラメーターの値を2 GBに変更します。

単一のRDSインスタンスのInnoDBバッファプールのサイズを変更する

  1. [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
  2. 左側のナビゲーションウィンドウで、パラメータ.

  3. innodb_buffer_pool_sizeパラメーターを見つけて、修改アイコンをクリックします。 表示されるダイアログボックスで、新しい値を入力し、[OK] をクリックします。

    修改参数

  4. [変更の適用] をクリックします。 表示されるダイアログボックスで、[OK] をクリックします。

    説明

    MySQL 5.6を実行するRDSインスタンスのinnodb_buffer_pool_sizeパラメーターを変更した後、RDSインスタンスが再起動するのを待つ必要があります。 MySQL 5.7またはMySQL 8.0を実行するRDSインスタンスのinnodb_buffer_pool_sizeパラメーターを変更した後、RDSインスタンスが再起動するのを待つ必要はありません。

一度に複数のRDSインスタンスのInnoDBバッファプールのサイズを変更する

innodb_buffer_pool_sizeパラメーターを含むパラメーターテンプレートを作成できます。 次に、テンプレートを複数のRDSインスタンスに適用して、これらのRDSインスタンスのInnoDBバッファプールのサイズを一度に変更できます。 このパラメーターを含むパラメーターテンプレートが作成されている場合は、テンプレートでこのパラメーターの値を変更するだけです。 次に、一度に複数のRDSインスタンスにテンプレートを適用できます。 詳細については、「パラメーターテンプレートの使用」をご参照ください。

参数模板修改