全部产品
Search
文档中心

ApsaraDB for MongoDB:Memecahkan masalah pemanfaatan IOPS tinggi pada sebuah instance

更新时间:Jul 02, 2025

Penggunaan operasi input/output per detik (IOPS) pada instance ApsaraDB for MongoDB merupakan metrik kunci. Jika pemanfaatan IOPS mencapai atau mendekati 100%, instance tersebut mungkin merespons dengan lambat atau bahkan menjadi tidak tersedia. Topik ini menjelaskan cara memantau pemanfaatan IOPS pada instance ApsaraDB for MongoDB dan menyelesaikan masalah terkait pemanfaatan IOPS tinggi.

Informasi latar belakang

Untuk mencegah host bersaing dalam penggunaan sumber daya I/O, sebagian besar penyedia database cloud menggunakan teknik seperti grup kontrol (cgroups) untuk mengisolasi sumber daya I/O dan membatasi IOPS. Batas atas IOPS pada sebuah instance bervariasi berdasarkan spesifikasinya.

Catatan penggunaan

Metrik IOPS Usage dan IOPS Usage (%) dari beberapa instance tidak dapat ditampilkan di konsol ApsaraDB for MongoDB. Instance yang terpengaruh meliputi instance mandiri, instance set replika yang menjalankan MongoDB 4.2 dengan disk cloud, serta instance kluster sharded yang menjalankan MongoDB 4.2 dengan disk cloud.

Untuk instance tersebut, metrik IOPS Usage dan IOPS Usage (%) ditampilkan sebagai 0 pada halaman Monitoring Data di konsol, yang tidak mencerminkan penggunaan IOPS aktual.

Lihat pemanfaatan IOPS

Berikut adalah cara memantau pemanfaatan IOPS melalui grafik pemantauan:

  • Masuk ke konsol ApsaraDB for MongoDB. Di bagian Specification Information pada halaman Basic Information dari sebuah instance, periksa nilai maksimum IOPS. Untuk informasi lebih lanjut tentang batas atas IOPS berdasarkan spesifikasi instance, lihat Tipe Instance.

  • Masuk ke konsol ApsaraDB for MongoDB. Di halaman Monitoring Data, tentukan nilai maksimum IOPS berdasarkan metrik IOPS Usage dan IOPS Usage (%). Untuk detail lebih lanjut tentang metrik IOPS, lihat Item dan Metrik Pemantauan.

Penyebab umum masalah I/O

Masalah I/O umumnya disebabkan oleh faktor-faktor berikut:

  • Memori tidak mencukupi. Masalah I/O erat kaitannya dengan ukuran cache di memori. Cache yang lebih besar memungkinkan volume data panas yang lebih besar, sehingga mengurangi kebutuhan sistem terhadap sumber daya disk I/O dan menurunkan risiko hambatan I/O. Sebaliknya, cache yang lebih kecil menyebabkan lebih sedikit data panas tersimpan, sehingga sistem sering melakukan flush halaman kotor ke disk, meningkatkan kemungkinan hambatan I/O.

  • Konfigurasi parameter dan pengaturan terkait disk I/O tidak optimal. Contohnya, log journal dan log waktu proses sering diperbarui, mekanisme keamanan penulisan (Write Concern) dikonfigurasi secara tidak tepat, atau operasi moveChunk tidak valid untuk instance kluster sharded.

Strategi optimalisasi untuk masalah I/O

Kami merekomendasikan Anda memilih spesifikasi yang sesuai untuk instance ApsaraDB for MongoDB dan mengoptimalkan indeks serta kebijakan penulisan aplikasi.

  • Konfigurasikan Spesifikasi yang Sesuai untuk Instance ApsaraDB for MongoDB

    Rasio antara ukuran data panas dan ukuran cache sulit diprediksi. Dalam banyak kasus, pemanfaatan CPU dan IOPS harian maksimum berada di bawah 50%.

  • Optimalkan Indeks

    Query yang menyebabkan pemindaian tabel penuh atau penggunaan indeks yang tidak tepat dapat menghasilkan pemanfaatan IOPS tinggi. Misalnya, ekspor data tabel penuh memerlukan banyak sumber daya I/O. Volume data yang besar akibat indeks yang berlebihan mengurangi data panas di cache WiredTiger. Penulisan data bisnis memerlukan lebih dari satu operasi I/O untuk memperbarui indeks, yang memengaruhi kinerja I/O. Oleh karena itu, kami merekomendasikan Anda membuat indeks yang sesuai.

  • Optimalkan Arsitektur Bisnis dan O&M

    Ambil langkah-langkah berikut untuk mencegah disk I/O menjadi hambatan dalam arsitektur bisnis:

    • Kontrol Jumlah Thread Tulis/Baca Konkuren

      MongoDB adalah aplikasi multi-threaded. Tulis konkuren yang cepat dan query kompleks dapat menyebabkan hambatan IOPS, bahkan menyebabkan latensi terus-menerus pada node sekunder. Jika hambatan I/O disebabkan oleh volume data tertulis yang besar, kami merekomendasikan Anda meningkatkan instance ke instance kluster sharded ApsaraDB for MongoDB. Dengan cara ini, data dibagi secara horizontal oleh shard untuk menskalakan kinerja tulis instance secara linier.

    • Tulis Data Selama Jam-Jam Sepi

      Tulisan reguler atau persistensi data batch dapat menyebabkan puncak IOPS. Jika konfigurasi instance saat ini tidak memenuhi persyaratan puncak tulisan, kami sarankan Anda meningkatkan konfigurasi agar data bisnis dapat ditulis dengan lancar. Sebagai contoh, tambahkan cap waktu acak untuk setiap operasi tulis batch.IOPS峰值数据

    • Lakukan Operasi O&M Selama Jam-Jam Sepi

      Operasi O&M yang sangat memengaruhi kinerja dapat menyebabkan puncak IOPS. Kami merekomendasikan Anda melakukan operasi O&M selama jam-jam sepi. Puncak IOPS dapat terjadi ketika Anda menulis batch, memperbarui, atau menghapus data, menambahkan indeks, melakukan operasi kompak pada koleksi, atau mengekspor data batch.