

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemanfaatan CPU Tinggi
<a name="performance-high-cpu-utilization"></a>

Pemanfaatan CPU yang tinggi adalah salah satu masalah yang mungkin Anda temui di beberapa titik saat bekerja dengan Amazon DocumentDB. Bagian ini memberikan wawasan untuk menyelesaikan masalah.

## Identifikasi - Temukan masalahnya
<a name="high-cpu-identification"></a>

Pemanfaatan CPU yang tinggi pada instans Amazon DocumentDB menyebabkan kelambatan aplikasi dengan meningkatkan latensi di semua operasi database. Ketika penggunaan CPU Amazon DocumentDB naik di atas level optimal, waktu eksekusi kueri meningkat, pembuatan koneksi membutuhkan waktu lebih lama, dan respons aplikasi berkurang. Puncak CPU pada instance utama operasi penulisan lambat, sementara puncak pada replika menghasilkan latensi yang lebih tinggi untuk operasi baca.

Beberapa Penyebab Umum Pemanfaatan CPU Tinggi di Amazon DocumentDB dapat berupa:
+ **Pemindaian Koleksi**: Kueri tanpa indeks yang tepat memaksa pemindaian koleksi penuh, menghabiskan CPU berlebihan untuk memeriksa setiap dokumen.
+ **Lonjakan Koneksi**: Lonjakan tiba-tiba dalam koneksi aplikasi membanjiri sumber daya CPU yang diperlukan untuk otentikasi dan manajemen sesi.
+ **Agregasi Kompleks**: Multi-stage operasi (penyortiran, pengelompokan, penggabungan) mengkonsumsi CPU yang signifikan, terutama pada kumpulan data besar tanpa indeks yang dioptimalkan.
+ **Kueri Tidak Efisien**: Penggunaan CPU yang tinggi dihasilkan dari pemindaian set hasil besar dan operasi regex.
+ **Write-Heavy Beban kerja**: Pembaruan yang sering dan penyisipan massal membebani CPU dengan pemrosesan dokumen, pembaruan indeks, dan pencatatan transaksi.

## Selidiki - Kumpulkan metrik
<a name="high-cpu-investigate"></a>

Amazon DocumentDB menyediakan pemantauan melalui Amazon. CloudWatch Metrik Amazon DocumentDB dapat dikategorikan secara luas ke dalam metrik tingkat cluster dan tingkat instans. Untuk sumber daya yang terkait dengan CPU, memori, dan koneksi, Lihatlah metrik tingkat instans karena konsumsi sumber daya khusus untuk instance. Identifikasi instance (primer atau replika) yang menunjukkan lonjakan CPU dan catat waktu lonjakan.

 CloudWatch Metrik untuk pemanfaatan CPU untuk`CPUUtilization`.

## Diagnosa - Temukan akar penyebabnya
<a name="high-cpu-diagnose"></a>

Setelah mengidentifikasi instance dan timeline lonjakan CPU, selanjutnya adalah mendiagnosis penyebab yang memengaruhi penggunaan CPU secara besar-besaran. Karena ada beberapa alasan yang dapat menyebabkan lonjakan CPU, mari kita identifikasi apa yang berkontribusi padanya dimulai dengan:

**Koneksi**: Periksa CloudWatch metrik termasuk`DatabaseConnectionsMax`, `DatabaseConnections` dan, jika ada lonjakan koneksi dan bertepatan dengan waktu lonjakan CPU, lonjakan koneksi dalam waktu singkat kemungkinan merupakan penyebab lonjakan CPU.

**Kueri**: Jika bukan koneksi, maka kueri mungkin menjadi penyebabnya. Jika Anda telah mengaktifkan insight performa, buka konsol Performance insights untuk instance tersebut dan lihat kueri pada instance tersebut. Hal lain untuk melihat kueri adalah dari profiler.

## Selesaikan - Perbaiki masalah
<a name="high-cpu-resolve"></a>

**Semburan koneksi: Jika semburan** koneksi adalah penyebab lonjakan CPU, pertimbangkan untuk menggunakan kembali koneksi dalam aplikasi Anda atau menerapkan penyatuan koneksi. Untuk informasi selengkapnya tentang mengoptimalkan koneksi tinggi, lihat[Masalah Koneksi dengan Amazon DocumentDB](performance-connection-issues.md).

**Distribusi Kueri**: Jika lonjakan CPU disebabkan oleh kueri baca pada instance utama, pertimbangkan untuk mengarahkan operasi baca ke instance replika jika hasil kueri Anda pada akhirnya dapat konsisten.

**Pengoptimalan kueri**: Jika kueri atau kumpulan kueri menyebabkan CPU melonjak, pertimbangkan untuk mengoptimalkan kueri seperti menambahkan indeks jika kueri tidak menggunakannya. Untuk informasi selengkapnya tentang mengoptimalkan kueri, lihat[Kueri Berjalan Lambat](performance-slow-queries.md).

**Penskalaan Instance**: Jika pemanfaatan CPU tetap tinggi secara konsisten setelah upaya pengoptimalan, tingkatkan ke kelas instans yang lebih besar dengan kapasitas CPU yang lebih besar untuk menangani kebutuhan beban kerja Anda secara efektif.

**Tanpa server**: Untuk beban kerja yang tidak dapat diprediksi yang menyebabkan lonjakan CPU berdurasi pendek, pertimbangkan untuk menggunakan. [Menggunakan Amazon DocumentDB tanpa server](docdb-serverless.md) Instans tanpa server secara otomatis menskalakan sumber daya berdasarkan permintaan, sehingga tidak perlu menyediakan ukuran instans tetap untuk beban kerja tersebut.