All Products
Search
Document Center

ApsaraDB RDS:Sesuaikan ukuran kolam buffer InnoDB

Last Updated:Jun 21, 2026

Parameter innodb_buffer_pool_size menentukan ukuran kolam buffer InnoDB. Anda dapat menyesuaikan parameter ini untuk meningkatkan kinerja instans ApsaraDB RDS for MySQL Anda.

Prasyarat

Topik ini berlaku untuk edisi instans berikut:

  • RDS High-availability Edition

  • RDS Basic Edition

  • RDS Cluster Edition

Batasan

  • Anda tidak dapat memodifikasi secara manual parameter innodb_buffer_pool_size untuk instans ApsaraDB RDS for MySQL Serverless. Instans tersebut secara otomatis menyesuaikan ukuran kolam buffer InnoDB saat spesifikasi instansnya berubah.

  • Jika parameter innodb_buffer_pool_size untuk instans ApsaraDB RDS for MySQL diatur terlalu tinggi, hal ini dapat menyebabkan error out of memory (OOM) dan memicu failover. Untuk mencegah hal ini, konfigurasikan ukuran kolam buffer sesuai dengan nilai maksimum yang direkomendasikan dalam topik ini.

Kasus penggunaan

Kecuali jika memori terbatas, tingkatkan parameter ini untuk mengoptimalkan kinerja database.

  • Tingkatkan ukuran: Jika server memiliki memori yang cukup, peningkatan innodb_buffer_pool_size dapat secara signifikan mengurangi I/O disk. Jika data yang dikueri dapat disimpan sepenuhnya atau sebagian besar di memori, CPU lebih sedikit menunggu I/O disk, sehingga mengurangi pemanfaatan CPU secara keseluruhan. Sebagai contoh, untuk pernyataan UPDATE yang sering dieksekusi, kolam buffer yang lebih besar mengurangi ketergantungan pada disk dan meringankan kontensi kunci baris. Hal ini meningkatkan kinerja pembaruan data, terutama untuk batch catatan dalam jumlah besar.

  • Kurangi ukuran: Jika memori terbatas atau aplikasi lain memerlukan memori dalam jumlah besar, kurangi nilai innodb_buffer_pool_size.

Ukuran kolam buffer InnoDB

Anda dapat menyesuaikan ukuran kolam buffer InnoDB dengan mengatur parameter innodb_buffer_pool_size menggunakan rumus berikut:

{DBInstanceClassMemory*X/Y}
# Contoh: {DBInstanceClassMemory*7/10}
Catatan
  • DBInstanceClassMemory adalah memori dari spesifikasi instans RDS (variabel sistem), dan X/Y merepresentasikan rasio ukuran Buffer Pool terhadap memori instans.

  • Kisaran yang dapat disesuaikan adalah dari 128 MB hingga 90% dari total memori instans (DBInstanceClassMemory * 9 / 10).

Ukuran default kolam buffer InnoDB

Instans disk lokal berkinerja tinggi

Untuk spesifikasi berikut, ukuran default Buffer Pool adalah 80% hingga 90% dari memori instans. Untuk spesifikasi lainnya, ukuran default adalah 75% dari memori instans (memori instans * 3 / 4).

Instance family

Tipe instans

CPU dan memori

Nilai default (MB) dan persentase

General purpose

rds.mysql.s3.large

4 core, 8 GB

7372 (90%)

rds.mysql.m1.medium

4 core, 16 GB

14745 (90%)

rds.mysql.c1.large

8 core, 16 GB

13107 (80%)

rds.mysql.c1.xlarge

8 core, 32 GB

27852 (85%)

rds.mysql.c2.xlarge

16 core, 64 GB

52428 (80%)

rds.mysql.c2.xlp2

16 core, 96 GB

78643 (80%)

Dedicated

mysql.x4.large.2

4 core, 16 GB

14745 (90%)

mysql.x8.large.2

4 core, 32 GB

29491 (90%)

mysql.x4.xlarge.2

8 core, 32 GB

27852 (85%)

mysql.x8.xlarge.2

8 core, 64 GB

55705 (85%)

mysql.x4.2xlarge.2

16 core, 64 GB

52428 (80%)

mysql.x8.2xlarge.2

16 core, 128 GB

104857 (80%)

Instans disk cloud

Spesifikasi tujuan umum

Ukuran default Buffer Pool adalah 75% dari memori instans (memori instans * 3 / 4).

Spesifikasi khusus

  • Ukuran default Buffer Pool: (memori instans - memori yang dicadangkan sistem) * 3 / 4

  • Rumus untuk menghitung memori yang dicadangkan sistem adalah: min{Memori Instans / 2, 2048} + max{CPU Instans * 64, Memori Instans / 64} + (Memori Instans / 64) + 285, dengan satuan memori instans dalam MB.

Tabel berikut mencantumkan ukuran default dan ukuran maksimum yang direkomendasikan untuk kolam buffer pada spesifikasi instans khusus.

Inti CPU

Memori instans (MB)

Ukuran kolam buffer

Nilai default (MB)

Nilai maksimum yang direkomendasikan (MB)

2

4096

1024

1024

2

8192

4096

4096

2

16384

9216

10240

4

8192

4096

4096

4

16384

9216

10240

4

32768

21504

22528

8

16384

9216

10240

8

32768

21504

22528

8

65536

45056

48128

12

24576

15360

16384

12

49152

33792

35840

12

98304

69632

73728

16

32768

21504

22528

16

65536

45056

48128

16

131072

93184

99328

24

49152

32768

34816

24

98304

69632

73728

24

196608

140288

149504

32

65536

45056

47104

32

131072

93184

99328

32

262144

188416

200704

52

98304

67584

72704

52

196608

140288

149504

52

393216

283648

302080

64

262144

188416

200704

64

524288

378880

403456

102

786432

569344

607232

104

196608

138240

147456

104

393216

282624

302080

Catatan

Ukuran kolam buffer InnoDB selalu merupakan kelipatan dari innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances:

  • innodb_buffer_pool_chunk_size tetap pada 32 MB, tetapi nilai ini bisa jadi 128 MB untuk instans yang dibuat sebelumnya.

  • Jika nilai yang Anda atur untuk innodb_buffer_pool_size bukan kelipatan, sistem secara otomatis membulatkannya ke atas ke kelipatan bilangan bulat terdekat.

Sebagai contoh, ketika innodb_buffer_pool_chunk_size adalah 1 GB dan innodb_buffer_pool_instances adalah 1, jika Anda mengatur innodb_buffer_pool_size menjadi 1,5 GB, nilai tersebut sebenarnya disesuaikan menjadi 2 GB.

Menyesuaikan kolam buffer untuk satu instans

  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instansnya.

  2. Di panel navigasi sebelah kiri, klik Parameters.

  3. Temukan parameter innodb_buffer_pool_size, klik ikon 修改 di kolom Actions untuk mengubah nilainya, lalu klik OK.

  4. Klik Apply Changes. Di kotak dialog yang muncul, klik OK.

    Catatan

    Modifikasi parameter innodb_buffer_pool_size memerlukan restart untuk RDS for MySQL 5.6, tetapi tidak memerlukan restart untuk RDS for MySQL 5.7 dan 8.0.

Menyesuaikan dengan templat parameter

Anda dapat membuat templat parameter baru untuk mengubah innodb_buffer_pool_size, lalu menerapkan templat tersebut ke instans target. Jika Anda sudah memiliki templat parameter, Anda dapat memodifikasinya lalu menerapkannya ke instans target. Untuk informasi lebih lanjut, lihat Menggunakan templat parameter.

Atur Running Value menjadi {DBInstanceClassMemory*7/10}. Setelah menerapkan templat, Anda harus melakukan restart instans ApsaraDB RDS for MySQL 5.6 agar perubahan diterapkan. Tidak diperlukan restart untuk versi 5.7 dan 8.0.

Dokumen terkait

Anda juga dapat menggunakan data Pemantauan instans dan analisis log kueri lambat untuk menganalisis dan menyelesaikan masalah penggunaan memori untuk ApsaraDB RDS for MySQL.