全部产品
Search
文档中心

ApsaraDB RDS:Ubah ukuran kolam buffer InnoDB

更新时间:Nov 10, 2025

Parameter innodb_buffer_pool_size menentukan ukuran kolam buffer InnoDB. Anda dapat menyesuaikan parameter ini untuk instans RDS MySQL sesuai dengan kebutuhan bisnis guna meningkatkan kinerja instans.

Sebelum Anda mulai

Instans RDS Anda harus menjalankan salah satu edisi berikut:

  • RDS Edisi Ketersediaan Tinggi

  • RDS Edisi Dasar

  • RDS Edisi Kluster

Batasan

  • Instans Serverless RDS MySQL tidak mendukung modifikasi manual parameter innodb_buffer_pool_size. Instans secara otomatis menyesuaikan ukuran kolam buffer InnoDB berdasarkan perubahan spesifikasi.

  • Jika parameter innodb_buffer_pool_size dari instans RDS MySQL diatur terlalu besar, hal itu dapat menyebabkan kehabisan memori (OOM) dan memicu alih bencana primer/sekunder. Kami menyarankan Anda mengonfigurasi parameter berdasarkan nilai maksimum kolam buffer yang direkomendasikan dalam topik ini.

Skenario

Dalam penggunaan sehari-hari, kecuali jika memori terbatas, kami menyarankan Anda meningkatkan parameter ini untuk mengoptimalkan kinerja database.

  • Tingkatkan: Saat memori server mencukupi, meningkatkan innodb_buffer_pool_size dapat secara efektif mengurangi throughput I/O disk. Jika data yang diquery dapat disimpan sepenuhnya atau sebagian besar di memori, CPU tidak perlu sering menunggu I/O disk, yang membantu mengurangi penggunaan CPU. Sebagai contoh, untuk pernyataan UPDATE yang sering dieksekusi, kolam buffer yang lebih besar dapat mengurangi ketergantungan pada disk, mengurangi waktu tunggu kunci, dan meningkatkan efisiensi MySQL dalam memproses pembaruan data, terutama ketika banyak catatan diperbarui.

  • Kurangi: Saat sumber daya memori terbatas, atau saat aplikasi lain memiliki kebutuhan memori tinggi, Anda dapat mengurangi nilai parameter innodb_buffer_pool_size.

Ukuran kolam buffer InnoDB

Anda dapat mengonfigurasi ulang parameter innodb_buffer_pool_size untuk mengubah ukuran kolam buffer InnoDB untuk instans RDS. Saat ini, Anda hanya dapat memodifikasi parameter ini menggunakan rumus. Rumusnya adalah sebagai berikut:

{DBInstanceClassMemory*X/Y}
# Contoh: {DBInstanceClassMemory*7/10}
Catatan
  • DBInstanceClassMemory adalah memori dari tipe instans RDS (variabel sistem), dan X/Y mewakili rasio ukuran kolam buffer terhadap memori instans.

  • Rentang yang dapat disesuaikan adalah: [128 MB, DBInstanceClassMemory * 9 / 10], yang berarti nilai minimum adalah 128 MB dan nilai maksimum adalah 90% dari memori instans RDS.

Nilai default ukuran kolam buffer InnoDB

Instans disk lokal berperforma tinggi

Untuk tipe instans berikut, ukuran kolam buffer default adalah 80% hingga 90% dari memori instans. Untuk tipe instans lainnya, nilai defaultnya adalah 75% dari memori instans (memori instans * 3 / 4).

Instance family

Instance Type

CPU dan memori

Nilai default (MB) dan persentase memori instans

Tipe instans tujuan umum

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%)

Instans khusus

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

Tipe instans tujuan umum

Ukuran kolam buffer default adalah 75% dari memori instans (memori instans * 3 / 4).

Tipe instans khusus

  • Ukuran kolam buffer default: (memori instans - memori cadangan sistem) * 3 / 4

  • Rumus untuk menghitung memori cadangan sistem adalah: min{memori instans / 2, 2048} + max{CPU instans * 64, memori instans / 64} + (memori instans / 64) + 285, di mana unit memori instans adalah MB.

Untuk kemudahan Anda, tabel berikut memberikan ukuran kolam buffer default dan ukuran kolam buffer maksimum yang direkomendasikan untuk tipe instans khusus.

Inti CPU Instans

Memori instans (MB)

Ukuran kolam buffer

Nilai default (MB)

Nilai 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

Kapasitas 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. Untuk instans yang dibuat sebelumnya, mungkin 128 MB.

  • Saat nilai innodb_buffer_pool_size yang ditetapkan oleh pengguna bukan kelipatan, sistem secara otomatis membulatkan ke kelipatan integer terdekat.

Sebagai contoh, saat innodb_buffer_pool_chunk_size adalah 1 GB dan innodb_buffer_pool_instances adalah 1, jika Anda menetapkan innodb_buffer_pool_size menjadi 1,5 GB, maka akan disesuaikan menjadi 2 GB.

Ubah ukuran kolam buffer InnoDB untuk satu instans RDS

  1. Pergi ke halaman Instans. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Kemudian, temukan instans RDS dan klik ID instans tersebut.

  2. Di panel navigasi di sebelah kiri, klik Parameters.

  3. Temukan parameter innodb_buffer_pool_size, klik 修改 di sebelah kanan untuk memodifikasinya, lalu klik OK.

  4. Klik Submit Parameters, lalu klik OK di kotak dialog konfirmasi.

    Catatan

    Memodifikasi parameter innodb_buffer_pool_size untuk RDS MySQL 5.6 memerlukan restart, tetapi ini tidak diperlukan untuk RDS MySQL 5.7 dan 8.0.

Ubah ukuran kolam buffer InnoDB untuk beberapa instans RDS sekaligus

Anda dapat membuat template parameter untuk memodifikasi innodb_buffer_pool_size lalu menerapkannya ke instans yang perlu dimodifikasi. Jika template parameter yang berisi parameter ini telah dibuat, Anda hanya perlu mengubah nilai parameter ini dalam template. Lalu, Anda dapat menerapkan template ke beberapa instans RDS sekaligus. Untuk informasi lebih lanjut, lihat Gunakan template parameter.

参数模板修改

Referensi

Anda juga dapat menganalisis dan menangani masalah penggunaan memori RDS MySQL berdasarkan informasi pemantauan dan analisis log lambat dari instans Anda.