All Products
Search
Document Center

ApsaraDB RDS:Atasi masalah yang menyebabkan I/O tinggi pada instans ApsaraDB RDS for MySQL

Last Updated:Aug 22, 2026

I/O tinggi pada instans ApsaraDB RDS for MySQL umumnya disebabkan oleh lima faktor utama: throughput tinggi, tabel temporary, pembacaan cold data, pernyataan DDL, dan penulisan log biner transaksi besar. Gunakan panduan ini untuk mengidentifikasi penyebabnya dan menerapkan tindakan yang tepat.

Penyebab umum sekilas

Cause Where to look in the console Key indicator
Throughput tinggi Autonomy Service > Dashboard > Performance Trends Beban baca/tulis
Tabel temporary Autonomy Service > Dashboard > Performance Trends tmp
Pembacaan cold data Autonomy Service > Dashboard > Performance Trends Rasio hit kolam buffer
Pernyataan DDL Monitoring and Alerts > Standard Monitoring > Standard View Penggunaan disk dan IOPS
Penulisan log biner transaksi besar Lonjakan besar mendadak pada volume log biner

Cara InnoDB menangani I/O

InnoDB menggunakan sistem I/O independen untuk membaca dan menulis halaman data. Ketika suatu pernyataan SQL meminta halaman data yang tidak ada di kolam buffer, InnoDB membacanya dari disk menggunakan I/O sinkron. Thread latar belakang menggunakan I/O asinkron untuk membuang halaman kotor ke disk.

Selain I/O file data, beberapa operasi lain juga dapat meningkatkan I/O secara signifikan, seperti penulisan redo log, undo log, log biner, pengurutan tabel temporary, dan pembangunan ulang ruang tabel DDL. Masing-masing dari lima penyebab berikut terkait dengan satu atau lebih mekanisme tersebut.

Atasi I/O tinggi yang disebabkan oleh throughput tinggi

Gejala

Operasi UPDATE, DELETE, dan INSERT yang sering pada tabel dengan banyak indeks atau bidang besar meningkatkan I/O dalam dua cara. Pertama, RDS membaca halaman data ke dalam kolam buffer. Kemudian, thread latar belakang membuang halaman kotor yang dihasilkan ke disk. Tekanan baca dan tulis gabungan ini menyebabkan peningkatan I/O.

Untuk memverifikasi, buka Autonomy Service > Dashboard di panel navigasi kiri Konsol ApsaraDB RDS, lalu buka tab Performance Trends dan periksa metrik beban baca/tulis.

Solusi

Kurangi frekuensi operasi baca/tulis, upgrade tipe instans, atau sesuaikan parameter yang mengontrol pembersihan halaman kotor.

Parameter Default Description
innodb_max_dirty_pages_pct 75 Persentase maksimum halaman kotor yang diperbolehkan dalam kolam buffer
innodb_max_dirty_pages_pct_lwm 0 (disabled) Batas bawah (low water mark) untuk halaman kotor; jika terlampaui, RDS secara proaktif membersihkan halaman kotor untuk menjaga ruang cadangan dalam kolam buffer
innodb_io_capacity 20000 Operasi I/O maksimum per detik yang tersedia untuk tugas latar belakang InnoDB; mengontrol kecepatan pembersihan halaman kotor dan penulisan kolam buffer
innodb_io_capacity_max 40000 Batas atas operasi I/O per detik; hanya berlaku ketika pembersihan halaman kotor tertinggal; harus lebih besar dari innodb_io_capacity
Catatan

innodb_max_dirty_pages_pct_lwm harus kurang dari atau sama dengan innodb_max_dirty_pages_pct. Jika nilai tersebut diatur lebih tinggi, RDS akan secara otomatis menyetel ulang nilainya agar sama dengan innodb_max_dirty_pages_pct.

Atasi I/O tinggi yang disebabkan oleh tabel temporary

Gejala

Pernyataan SQL lambat yang melibatkan pengurutan atau deduplikasi menyebabkan InnoDB membuat tabel temporary besar di disk. Baik pembuatan maupun penulisan ke tabel temporary ini meningkatkan I/O. Ukuran direktori tmp yang besar merupakan indikator yang andal.

Untuk memverifikasi, buka Autonomy Service > Dashboard di panel navigasi kiri Konsol ApsaraDB RDS, lalu buka tab Performance Trends dan periksa ukuran direktori tmp.

Solusi

Optimalkan pernyataan SQL yang menghasilkan tabel temporary. Database Autonomy Service (DAS) menyediakan fitur optimasi SQL bawaan untuk membantu mengidentifikasi dan memperbaiki kueri lambat. Untuk detailnya, lihat SQL optimization.

Atasi I/O tinggi yang disebabkan oleh pembacaan cold data

Gejala

Ketika halaman data yang dibutuhkan oleh kueri atau pernyataan DML tidak tersedia di kolam buffer, InnoDB membacanya dari disk. Rasio hit kolam buffer yang rendah menunjukkan bahwa sebagian besar permintaan mengakses disk, sehingga meningkatkan I/O secara signifikan.

Untuk memverifikasi, buka Autonomy Service > Dashboard di panel navigasi kiri Konsol ApsaraDB RDS, lalu buka tab Performance Trends dan periksa rasio hit kolam buffer.

Solusi

Rancang ulang strategi caching berdasarkan pola akses workload Anda atau upgrade instans RDS Anda.

Atasi I/O tinggi yang disebabkan oleh pernyataan DDL

Gejala

Pernyataan DDL memicu pembangunan ulang ruang tabel secara penuh. InnoDB memindai setiap baris, membuat indeks sort, dan membersihkan halaman kotor untuk struktur tabel baru. Penghapusan tabel besar juga menghasilkan I/O yang signifikan. Operasi-operasi ini dapat menyebabkan lonjakan tajam pada penggunaan disk dan IOPS.

Untuk memverifikasi, buka Monitoring and Alerts di panel navigasi kiri Konsol ApsaraDB RDS, klik Standard View pada tab Standard Monitoring, lalu periksa penggunaan disk dan IOPS.

Solusi

Gunakan fitur Purge Large File Asynchronously untuk menghapus file besar tanpa memblokir I/O. Fitur ini merupakan bagian dari AliSQL, cabang MySQL Alibaba Cloud. Untuk detailnya, lihat Purge Large File Asynchronously.

Atasi I/O tinggi yang disebabkan oleh penulisan log biner dari transaksi besar

Gejala

InnoDB hanya menulis ke file log biner saat transaksi di-commit. Satu transaksi besar—misalnya, perintah DELETE yang menghapus sejumlah besar baris—dapat menghasilkan puluhan GB data log biner. Membersihkan volume tersebut ke disk dalam satu proses menyebabkan lonjakan I/O yang tajam.

Solusi

Pecah transaksi besar menjadi batch yang lebih kecil. Commit yang lebih kecil menyebarkan proses flush log biner sepanjang waktu, mengurangi flush halaman kotor ke disk, serta mencegah lonjakan I/O akibat satu commit besar.