All Products
Search
Document Center

ApsaraDB RDS:Buffer Pool Extension (BPE)

Last Updated:Aug 21, 2026

Fitur Buffer Pool Extension (BPE) pada instans RDS for MySQL yang menggunakan disk berkinerja tinggi dapat meningkatkan efisiensi I/O disk dan responsivitas sistem. Fitur ini memperluas buffer pool untuk mempercepat caching, sehingga meningkatkan kinerja baca dan tulis keseluruhan instans RDS Anda. Topik ini menjelaskan cara kerja BPE, kasus penggunaannya, serta hasil benchmark kinerja.

Latar Belakang

Membaca data dari disk ke memori dan menulis data dari memori ke disk merupakan operasi database yang umum. Dibandingkan dengan operasi di memori, I/O disk jauh lebih lambat dan memakan waktu lebih lama. Untuk beban kerja dengan permintaan data berskala besar atau sering terjadi, I/O disk dapat menjadi hambatan utama terhadap kinerja.

Untuk mengatasi hal ini, ApsaraDB RDS for MySQL menyediakan opsi penyimpanan baru: disk berkinerja tinggi. Disk ini kompatibel dengan semua fitur ESSD dan menggunakan arsitektur penyimpanan bertingkat tiga lapis untuk mengelola berbagai jenis data dan cache. Disk berkinerja tinggi juga menghadirkan fitur I/O burst dan Buffer Pool Extension (BPE) guna lebih meningkatkan kinerja I/O instans RDS Anda.

Pengantar

Ikhtisar

Buffer pool adalah area memori yang menyimpan cache data dari disk. Saat database perlu membaca atau menulis blok data, pertama-tama ia memeriksa buffer pool:

  • Jika blok data ada di buffer pool, database membaca atau menulisnya langsung dari memori.

  • Jika blok data tidak ada di buffer pool, database membacanya dari atau menulisnya ke disk, lalu menyalinnya ke buffer pool.

Mekanisme caching ini secara efektif mengurangi operasi I/O disk dan meningkatkan kinerja I/O instans. Namun, ukuran buffer pool dibatasi oleh kapasitas memori sistem. Jika memori tidak mencukupi, ukuran buffer pool yang terbatas dapat berdampak negatif terhadap kinerja I/O.

RDS for MySQL memperkenalkan fitur Buffer Pool Extension (BPE) untuk memperluas ukuran efektif buffer pool. Dengan memanfaatkan kernel mesin RDS, BPE meningkatkan kinerja baca dan tulis keseluruhan RDS for MySQL. Hal ini memungkinkan instans Anda mengeksekusi lebih banyak perintah baca dan tulis dalam periode tertentu, sehingga meningkatkan efisiensi I/O disk dan responsivitas sistem, serta mempercepat caching.

Manfaat

Fitur BPE menciptakan struktur penyimpanan bertingkat tiga yang memanfaatkan media penyimpanan dasar Alibaba Cloud untuk meningkatkan kinerja I/O instans dalam berbagai skenario dan kebutuhan penyimpanan data:

  • Peningkatan kinerja baca/tulis dan pengurangan waktu eksekusi SQL

    • Ekstensi buffer pool menyimpan cache operasi baca, sehingga secara signifikan meningkatkan kecepatan akses halaman data dan mempersingkat waktu eksekusi kueri SQL.

    • Ekstensi buffer pool sangat mengurangi frekuensi akses ke file data pada disk berkinerja tinggi instans, sehingga menurunkan penggunaan bandwidth disk.

  • Peningkatan stabilitas instans

    Disk tempat ekstensi buffer pool berada memiliki latensi lebih rendah dibandingkan disk berkinerja tinggi. Desain ini secara signifikan mengurangi dampak jitter I/O disk berkinerja tinggi terhadap operasi database, sehingga meningkatkan stabilitas.

Catatan

Di Pusat Pengalaman Solusi Buffer Pool Extension (BPE), Anda dapat membangun lingkungan RDS nyata dan mengamati hasil uji stres secara real-time dengan dan tanpa BPE diaktifkan. Fitur ini dapat digunakan secara gratis. Untuk informasi selengkapnya, lihat Pengamatan Kinerja Akselerasi I/O Disk Berkinerja Tinggi RDS (BPE).

Nilai Efisiensi Biaya

Fitur Buffer Pool Extension (BPE) disediakan secara gratis untuk instans RDS for MySQL yang didukung, dan Anda tidak perlu melakukan perubahan apa pun pada aplikasi Anda.

Anda dapat meningkatkan kinerja I/O instans secara signifikan tanpa perubahan biaya atau logika bisnis. Sebagai contoh, instans RDS for MySQL pada Edisi Ketersediaan Tinggi dengan tipe instans general-purpose berkapasitas 8 vCPU dan memori 16 GB dapat mencapai peningkatan besar dalam QPS baca dan tulis. Untuk detailnya, lihat Uji kinerja.

Cara Kerja

Fitur Buffer Pool Extension (BPE) untuk disk berkinerja tinggi menggunakan teknologi ekstensi buffer pool untuk meningkatkan kinerja ESSD tanpa biaya tambahan. Dengan memisahkan data panas dan dingin, fitur ini memperluas buffer pool InnoDB. Fitur ini menyimpan cache halaman data hangat di ekstensi buffer pool, sehingga memungkinkan InnoDB menggunakan beberapa media penyimpanan secara fleksibel dan mencapai QPS yang lebih tinggi.

Arsitektur

Gambar berikut menunjukkan arsitektur penerapan BPE.

c2a2493768b021f69aa2ff9d5011102b

Ekstensi buffer pool menggunakan disk berkecepatan tinggi sebagai lapisan caching antara memori dan disk berkinerja tinggi. Disk berkecepatan tinggi ini menawarkan latensi I/O lebih rendah dan kinerja lebih unggul dibandingkan disk berkinerja tinggi.

Catatan
  • Disk berkecepatan tinggi hanya digunakan untuk caching.

  • File data, file binlog, dan file redo disimpan di disk berkinerja tinggi.

Dengan memperluas buffer pool InnoDB, sistem dapat menyimpan cache halaman data dari buffer pool utama ke ekstensi buffer pool, sehingga memungkinkan InnoDB menggunakan beberapa media caching secara fleksibel.

Implementasi

Saat Anda mengaktifkan fitur Buffer Pool Extension (BPE), sistem menyimpan cache halaman data instans Anda ke ekstensi buffer pool pada disk berkecepatan tinggi.

Catatan

Semua halaman data yang disimpan di ekstensi buffer pool adalah halaman bersih (clean pages), artinya konsisten dengan data di file data pada disk berkinerja tinggi.

Saat membaca halaman data, sistem mengikuti langkah-langkah berikut:

  1. Klien mengirim permintaan untuk membaca halaman data.

  2. Sistem memeriksa buffer pool di memori untuk halaman data yang diminta.

    • Jika halaman ditemukan (cache hit), sistem mengembalikannya ke klien, dan proses selesai.

    • Jika halaman tidak ditemukan (cache miss), proses dilanjutkan ke langkah berikutnya.

  3. Sistem memeriksa ekstensi buffer pool pada disk berkecepatan tinggi untuk halaman data tersebut.

    • Jika halaman ditemukan, sistem menyalinnya ke buffer pool di memori lalu mengembalikannya ke klien. Proses selesai.

    • Jika halaman tidak ditemukan, proses dilanjutkan ke langkah berikutnya.

  4. Sistem membaca halaman data dari file data pada disk berkinerja tinggi. Sistem kemudian menyalin halaman tersebut ke buffer pool di memori dan mengembalikannya ke klien.

  5. Operasi baca selesai.

Cakupan Penerapan

  • Mesin: RDS MySQL

  • Versi: MySQL 8.4, atau MySQL 8.0 dengan versi mesin minor 20230914 atau lebih baru

  • Edisi: Edisi Ketersediaan Tinggi atau Edisi Kluster RDS

  • Kategori: Edisi Standar

  • Family instans: general-purpose

  • Wilayah dan zona: (Untuk ketersediaan, lihat Konsol. Daftar ini hanya sebagai referensi.)

    Wilayah

    Zona

    Tiongkok (Chengdu)

    Zona B

    Tiongkok (Beijing)

    Zona I

    Tiongkok (Shanghai)

    Zona M

    Zona N

    Tiongkok (Hangzhou)

    Zona J

Penagihan

Fitur Buffer Pool Extension (BPE) disediakan secara gratis untuk instans RDS for MySQL general-purpose yang menggunakan disk berkinerja tinggi.

Perhatian

  • Kehilangan data di ekstensi buffer pool tidak memengaruhi data bisnis Anda, karena data tersebut disimpan secara persisten di data disk. Instans Anda tetap beroperasi secara normal.

  • Mengaktifkan fitur BPE mengalokasikan sejumlah kecil memori (4% dari buffer_pool_size). Oleh karena itu, nilai default buffer_pool_size secara otomatis dikurangi sebesar 4%. Jika Anda perlu mengubah buffer_pool_size di kemudian hari, sesuaikan berdasarkan metrik penggunaan memori Anda.

  • Setelah Anda mengaktifkan atau menonaktifkan fitur BPE, instans Anda tidak tersedia selama sekitar 15 detik. Kami menyarankan Anda melakukan operasi ini pada jam sepi.

  • Mengaktifkan fitur BPE memberikan peningkatan kinerja yang signifikan. Efeknya lebih terasa pada tipe instans yang lebih besar. Sebagai contoh, instans RDS for MySQL general-purpose berkapasitas 8 vCPU dan 16 GB pada Edisi Ketersediaan Tinggi (Standar) dapat mencapai peningkatan kinerja hingga 103%.

Mengelola BPE

Aktifkan BPE

  1. Buka halaman Instances, pilih wilayah instans Anda, lalu klik ID instans.

  2. Pada bagian Basic Information, di sebelah kanan Storage Type, klik Configure Premium ESSD. Pada kotak dialog yang muncul, aktifkan sakelar Buffer Pool Extension (BPE).

Nonaktifkan BPE

  1. Buka halaman Instances, pilih wilayah instans Anda, lalu klik ID instans.

  2. Pada bagian Basic Information, di sebelah kanan Storage Type, klik Configure Premium ESSD. Pada kotak dialog yang muncul, nonaktifkan sakelar Buffer Pool Extension (BPE).

Uji kinerja

Persiapan uji

  • Metode uji: Jalankan operasi baca dan tulis pada instans dengan spesifikasi yang sama untuk membandingkan QPS dengan dan tanpa fitur BPE diaktifkan.

  • Ukuran data uji: 300 GB

  • Tool uji: Sysbench (Untuk informasi selengkapnya, lihat dokumentasi resmi Sysbench.)

    Catatan

    Anda harus membuat instance ECS terlebih dahulu. Tool uji dalam topik ini diinstal pada instance ECS.

  • Instans uji: Siapkan dua instans RDS for MySQL pada Edisi Ketersediaan Tinggi dengan tipe instans general-purpose. Satu instans memiliki 4 vCPU dan memori 8 GB, sedangkan yang lain memiliki 8 vCPU dan memori 16 GB. Uji coba dijalankan pada masing-masing instans terlebih dahulu dengan BPE dinonaktifkan, lalu diulang dengan BPE diaktifkan.

    Edisi

    Kode tipe instans

    vCPU dan memori

    High-availability Edition

    mysql.n2.large.xc

    4 vCPUs, 8 GB

    High-availability Edition

    mysql.n2.xlarge.xc

    8 vCPUs, 16 GB

Metode uji

Topik ini menggunakan CentOS sebagai contoh untuk uji kinerja. Jika Anda ingin menginstal dan menguji pada sistem operasi berbeda, lihat dokumentasi resmi Sysbench.

Instal Sysbench

Jalankan perintah berikut untuk menginstal Sysbench.

git clone https://github.com/akopytov/sysbench.git
cd sysbench
git checkout 0.5

yum -y install make automake libtool pkgconfig libaio-devel
yum -y install mariadb-devel


./autogen.sh
./configure
make -j
make install
 

Uji kinerja QPS instans

Parameter

Tabel berikut menjelaskan parameter yang digunakan dalam uji ini.

Parameter

Deskripsi

--tables

Jumlah tabel.

--table_size

Jumlah baris dalam setiap tabel.

--rand-type

Jenis distribusi bilangan acak.

--rand-spec-pct

Persentase nilai yang dianggap "spesial" untuk distribusi acak yang ditentukan.

--threads

Jumlah thread konkuren.

--time

Durasi uji, dalam detik.

Uji kinerja baca

  1. Persiapkan data: Jalankan perintah berikut untuk menyiapkan data 300 GB (30 tabel dengan masing-masing 40 juta baris).

    sysbench oltp_read_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare
  2. Jalankan uji baca: Jalankan perintah berikut untuk menguji kinerja baca instans.

    sysbench oltp_read_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 run

Uji kinerja tulis

  1. Persiapkan data: Jalankan perintah berikut untuk menyiapkan data 300 GB (30 tabel dengan masing-masing 40 juta baris).

    sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare
  2. Jalankan uji tulis: Jalankan perintah berikut untuk menguji kinerja tulis instans.

    sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 run

Uji kinerja baca/tulis

  1. Persiapkan data: Jalankan perintah berikut untuk menyiapkan data 300 GB (30 tabel dengan masing-masing 40 juta baris).

    sysbench oltp_read_write --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare
  2. Jalankan uji baca/tulis: Jalankan perintah berikut untuk menguji kinerja baca dan tulis campuran instans.

    sysbench oltp_read_write --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 run

Hasil uji

  • Hasil uji untuk instans RDS for MySQL pada Edisi Ketersediaan Tinggi (Standar) dengan tipe instans general-purpose berkapasitas 4 vCPU dan memori 8 GB:

    • Kinerja baca: QPS hampir tidak berubah dengan BPE diaktifkan.

    • Kinerja tulis: QPS meningkat 30% dengan BPE diaktifkan.

    • Kinerja baca/tulis: QPS meningkat 26% dengan BPE diaktifkan.

    image.png

  • Hasil uji untuk instans RDS for MySQL pada Edisi Ketersediaan Tinggi (Standar) dengan tipe instans general-purpose berkapasitas 8 vCPU dan memori 16 GB:

    • Kinerja baca: QPS meningkat 80% dengan BPE diaktifkan.

    • Kinerja tulis: QPS meningkat 33% dengan BPE diaktifkan.

    • Kinerja baca/tulis: QPS meningkat 103% dengan BPE diaktifkan.

    image.png

Dokumen Terkait