All Products
Search
Document Center

ApsaraDB RDS:16K atomic write

Last Updated:Mar 29, 2026

16K atomic write meningkatkan performa penulisan pada ApsaraDB RDS for MySQL minimal 40%—tanpa biaya tambahan. Fitur ini bekerja dengan memberikan jaminan tingkat perangkat keras kepada InnoDB bahwa setiap penulisan halaman data berukuran 16 KB bersifat atomik, sehingga mekanisme doublewrite tidak lagi diperlukan.

Cara kerja

Mesin InnoDB MySQL membaca dan menulis data dalam halaman berukuran 16 KB, tetapi sebagian besar sistem file menulis dalam blok berukuran 4 KB. Tanpa perlindungan tambahan, pemadaman listrik di tengah proses penulisan dapat menyebabkan halaman tertulis sebagian—suatu kondisi yang tidak dapat dipulihkan oleh InnoDB secara mandiri.

Solusi tradisional InnoDB adalah mekanisme doublewrite: menulis setiap halaman kotor terlebih dahulu ke buffer penulisan ganda, lalu meng-flush-nya ke lokasi sebenarnya. Hal ini menjadikan setiap operasi flush sebagai dua operasi penulisan alih-alih satu, hampir menggandakan beban I/O penulisan.

16K atomic write menggunakan pendekatan berbeda. Alih-alih menulis setiap halaman dua kali, fitur ini meminta penyimpanan dasar untuk menjamin bahwa setiap penulisan 16 KB akan diselesaikan sepenuhnya atau sama sekali tidak dilakukan. Dengan jaminan tersebut, buffer penulisan ganda tidak lagi memberikan nilai keamanan tambahan—sehingga innodb_doublewrite dinonaktifkan, memangkas beban I/O penulisan hingga separuhnya.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Instans RDS yang menjalankan MySQL 5.7 atau MySQL 8.0

  • Jenis penyimpanan: SSD standar atau Premium ESSD

Penagihan

16K atomic write gratis. Tidak ada biaya untuk mengaktifkan atau menonaktifkannya.

Catatan penggunaan

  • Diperlukan restart instans: Instans akan restart saat Anda mengaktifkan atau menonaktifkan 16K atomic write. Rencanakan downtime sebelum melakukan perubahan.

  • Instans primary dan read-only saling terkait: Jika 16K atomic write diaktifkan pada instans primary, fitur tersebut tidak dapat dinonaktifkan pada instans read-only. Menonaktifkannya hanya di sisi read-only akan menciptakan ketidaksesuaian performa yang menyebabkan latensi replikasi.

  • Konfigurasi diwariskan: Instans read-only dan instans yang dipulihkan dari backup mewarisi pengaturan 16K atomic write dari instans sumber.

Mengaktifkan atau menonaktifkan 16K atomic write

Penting

Instans yang memenuhi prasyarat dan kondisi berikut memiliki 16K atomic write yang diaktifkan secara default:

  • Instans baru: Dibeli melalui Konsol ApsaraDB RDS pada atau setelah 14 Mei 2025.

  • Instans YiTian RDS yang sudah ada: Instans yang jenis produk-nya belum diubah. Instans standar yang sudah ada tidak mendukung 16K atomic write.

  1. Buka daftar instans ApsaraDB RDS, pilih wilayah, lalu klik ID instans target.

  2. Pada halaman Basic Information, klik sakelar 16K atomic write untuk mengaktifkan atau menonaktifkan fitur tersebut.

Pengujian performa

Hasil berikut diukur menggunakan Sysbench oltp_write_only pada instans Edisi Ketersediaan Tinggi dengan Premium ESSD, membandingkan QPS sebelum dan sesudah mengaktifkan 16K atomic write.

Pengaturan pengujian

Instans uji

EdisiJenis penyimpananInstance familyTipe instansSpesifikasi
Ketersediaan TinggiPremium ESSDTujuan umummysql.n2.large.2c4 core, 8 GB
Ketersediaan TinggiPremium ESSDSpesifikasi khususmysql.x2.large.2c4 core, 8 GB

Data uji: 300 GB tersebar di 30 tabel, masing-masing berisi 40 juta baris.

Instal Sysbench (contoh CentOS):

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

Persiapkan data uji:

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

Parameter uji

ParameterNilaiDeskripsi
tables30Jumlah tabel
table_size40.000.000Baris per tabel
rand-typespecialDistribusi angka acak
rand-spec-pct15Persentase nilai yang diperlakukan sebagai nilai khusus
threads64Thread konkuren
time100Durasi pengujian (detik)

Jalankan pengujian

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

Hasil pengujian

16K atomic write

  • Instans tujuan umum (4 core, 8 GB): QPS meningkat sebesar 48% setelah mengaktifkan 16K atomic write (oranye).

    image

  • Instans spesifikasi khusus (4 core, 8 GB): QPS meningkat sebesar 47% setelah mengaktifkan 16K atomic write (oranye).

    image

16K atomic write + Buffer Pool Extension (BPE)

Untuk detail mengenai fitur Buffer Pool Extension (BPE) untuk Premium ESSD, lihat Gunakan fitur akselerasi I/O ESSD umum.
  • Instans tujuan umum (4 core, 8 GB): QPS meningkat sebesar 93% setelah mengaktifkan 16K atomic write dan BPE secara bersamaan (oranye).

    image

Langkah selanjutnya

Referensi