全部產品
Search
文件中心

ApsaraDB RDS:調整執行個體Buffer Pool大小

更新時間:Jun 08, 2024

您可以根據業務情況調整MariaDB執行個體的innodb_buffer_pool_size大小,以提升執行個體效能。

InnoDB Buffer Pool大小

RDS執行個體可以通過參數innodb_buffer_pool_size來調整InnoDB Buffer Pool的大小,當前僅支援通過公式進行修改。公式如下:

{DBInstanceClassMemory*X/Y}    

樣本

{DBInstanceClassMemory*7/10}
說明
  • DBInstanceClassMemory為RDS執行個體規格記憶體系統變數。

  • X、Y為分子和分母。

  • 可調整範圍為:[128MB, DBInstanceClassMemory*8/10],即最小調整到128 MB,最大調整到RDS執行個體規格記憶體的80%。

RDS執行個體預設InnoDB Buffer Pool大小如下:

  • 如果RDS雲端硬碟執行個體規格記憶體 < 16 GB,預設InnoDB Buffer Pool = (RDS執行個體規格記憶體 - RDS系統預留記憶體) * 0.75

    說明

    RDS系統預留記憶體的計算公式如下:

    MIN(RDS執行個體規格記憶體 * 0.65, ((RDS執行個體規格記憶體/16384) + 1) * 2048)
  • 如果RDS雲端硬碟執行個體規格記憶體 ≥ 16 GB,預設InnoDB Buffer Pool = RDS執行個體規格記憶體 * 0.75

說明

Buffer Pool的預設值是128的整數倍,如果計算出的結果非128的整數倍,則取近似值。如:1024MB記憶體的預設Buffer Pool計算結果為268,其最接近128整數倍的值為256,則1024MB記憶體的預設Buffer Pool為256MB。

為方便您設定,下表中提供了各執行個體記憶體大小對應的預設Buffer Pool和推薦最大Buffer Pool。

執行個體記憶體大小(單位:MB)

預設Buffer Pool(單位:MB)

推薦最大Buffer Pool(單位:MB)

2048

512

512

4096

1536

1536

8192

4608

4608

16384

12288

12288

32768

24576

25600

65536

49152

52224

131072

98304

104448

196608

147456

156672

229376

172032

183296

262144

196608

208896

491520

368640

393216

InnoDB Buffer Pool大小始終為innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances的倍數,如果不為倍數關係時,會自動修改為倍數關係。例如innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances = 1 GB,如果將innodb_buffer_pool_size設定為1.5 GB,系統會自動修改innodb_buffer_pool_size為2 GB。

調整單個執行個體的InnoDB Buffer Pool大小

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
  2. 在左側導覽列單擊參數設定

  3. 找到參數innodb_buffer_pool_size,單擊右側修改進行修改,然後單擊確定

    修改參數

  4. 單擊提交參數,在彈出的提示框中單擊確定,等待執行個體重啟完成。