Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

cpu

Mode fokus
cpu - Amazon Aurora

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

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

Peristiwa cpu tunggu terjadi ketika utas aktif CPU atau sedang menungguCPU.

Versi mesin yang didukung

Informasi peristiwa tunggu ini didukung untuk versi mesin berikut:

  • Aurora SQL Versi saya 2 dan 3

Konteks

Untuk setiap vCPU, koneksi dapat berjalan bekerja pada iniCPU. Dalam beberapa situasi, jumlah koneksi aktif yang siap dijalankan lebih tinggi dari jumlahvCPUs. Ketidakseimbangan ini mengakibatkan koneksi menunggu CPU sumber daya. Jika jumlah koneksi aktif tetap lebih tinggi secara konsisten daripada jumlahvCPUs, maka instans Anda mengalami CPU pertengkaran. Pertentangan tersebut menyebabkan peristiwa tunggu cpu terjadi.

catatan

Metrik Performance Insights untuk CPU adalah. DBLoadCPU Nilai untuk DBLoadCPU dapat berbeda dari nilai untuk CloudWatch metrikCPUUtilization. Metrik terakhir dikumpulkan dari HyperVisor untuk instance database.

Metrik Performance Insights OS memberikan informasi terperinci tentang pemanfaatan. CPU Misalnya, Anda dapat menampilkan metrik berikut:

  • os.cpuUtilization.nice.avg

  • os.cpuUtilization.total.avg

  • os.cpuUtilization.wait.avg

  • os.cpuUtilization.idle.avg

Performance Insights melaporkan CPU penggunaan oleh mesin database sebagai. os.cpuUtilization.nice.avg

Kemungkinan penyebab peningkatan peristiwa tunggu

Saat peristiwa ini terjadi lebih dari biasanya, yang mungkin menunjukkan adanya masalah performa, berikut adalah penyebab umumnya:

  • Kueri analitik

  • Transaksi bersamaan yang tinggi

  • Transaksi yang berjalan lama

  • Peningkatan mendadak dalam jumlah koneksi, yang dikenal sebagai login storm

  • Peningkatan peralihan konteks

Tindakan

Jika peristiwa tunggu cpu mendominasi aktivitas basis data, hal tersebut tidak selalu menunjukkan adanya masalah performa. Tanggapi peristiwa ini hanya saat performa menurun.

Bergantung pada penyebab peningkatan CPU pemanfaatan, pertimbangkan strategi berikut:

  • Tingkatkan CPU kapasitas tuan rumah. Pendekatan ini biasanya hanya memberikan bantuan sementara.

  • Identifikasi kueri teratas untuk pengoptimalan potensial.

  • Arahkan ulang sebagian beban kerja hanya-baca ke simpul pembaca jika berlaku.

Mengidentifikasi sesi atau kueri yang menyebabkan masalah

Untuk menemukan sesi dan kueri, lihat SQL tabel Teratas di Performance Insights untuk pernyataan SQL yang memiliki beban tertinggi. CPU Untuk informasi selengkapnya, lihat Menganalisis metrik dengan dasbor Wawasan Performa.

Biasanya, satu atau dua SQL pernyataan mengkonsumsi sebagian besar CPU siklus. Konsentrasikan upaya Anda pada pernyataan ini. Misalkan instans DB Anda memiliki 2 vCPUs dengan beban DB 3,1 sesi aktif rata-rata (AAS), semuanya dalam CPU keadaan. Dalam hal ini, instance Anda CPU terikat. Pertimbangkan strategi berikut:

  • Tingkatkan ke kelas instance yang lebih besar dengan lebih banyakvCPUs.

  • Setel kueri Anda untuk memiliki CPU beban yang lebih rendah.

Dalam contoh ini, SQL kueri teratas memiliki beban DB 1,5AAS, semuanya dalam CPU keadaan. SQLPernyataan lain memiliki beban 0,1 di CPU negara bagian. Dalam contoh ini, jika Anda menghentikan SQL pernyataan beban terendah, Anda tidak mengurangi beban database secara signifikan. Namun, jika Anda mengoptimalkan dua kueri beban tinggi menjadi dua kali lebih efisien, Anda menghilangkan kemacetanCPU. Jika Anda mengurangi CPU beban 1,5 hingga 50 AAS persen, AAS untuk setiap pernyataan berkurang menjadi 0,75. Total beban DB yang dihabiskan CPU sekarang 1,6AAS. Nilai ini berada di bawah CPU garis v maksimum 2.0.

Untuk ikhtisar berguna tentang pemecahan masalah menggunakan Performance Insights, lihat posting blog Menganalisis Beban Kerja SQL Saya Amazon Aurora dengan Performance Insights. Lihat juga artikel AWS Support Bagaimana cara memecahkan masalah dan mengatasi CPU pemanfaatan tinggi di Amazon RDS untuk instans Saya? SQL .

Menganalisis dan mengoptimalkan beban CPU kerja yang tinggi

Setelah Anda mengidentifikasi kueri atau kueri yang meningkatkan CPU penggunaan, Anda dapat mengoptimalkannya atau mengakhiri koneksi. Contoh berikut menunjukkan cara mengakhiri koneksi.

CALL mysql.rds_kill(processID);

Untuk informasi selengkapnya, lihat mysql.rds_kill.

Jika Anda mengakhiri sesi, tindakan tersebut dapat memicu rollback yang panjang.

Mengikuti panduan untuk mengoptimalkan kueri

Untuk mengoptimalkan kueri, pertimbangkan panduan berikut:

  • Jalankan pernyataan EXPLAIN.

    Perintah ini menunjukkan setiap langkah yang terlibat dalam menjalankan kueri. Untuk informasi selengkapnya, lihat Mengoptimalkan Kueri dengan EXPLAIN di dokumentasi SayaSQL.

  • Jalankan pernyataan SHOW PROFILE.

    Gunakan pernyataan ini untuk meninjau detail profil yang dapat menunjukkan penggunaan sumber daya untuk pernyataan yang dijalankan selama sesi saat ini. Untuk informasi selengkapnya, lihat SHOWPROFILEPernyataan dalam SQL dokumentasi Saya.

  • Jalankan pernyataan ANALYZE TABLE.

    Gunakan pernyataan ini untuk menyegarkan statistik indeks untuk tabel yang diakses oleh kueri dengan CPU konsumsi tinggi. Dengan menganalisis pernyataan, Anda dapat membantu pengoptimal memilih rencana eksekusi yang sesuai. Untuk informasi selengkapnya, lihat ANALYZETABLEPernyataan dalam SQL dokumentasi Saya.

Ikuti pedoman untuk meningkatkan CPU penggunaan

Untuk meningkatkan CPU penggunaan dalam instance database, ikuti panduan ini:

  • Pastikan semua kueri telah menggunakan indeks yang tepat.

  • Cari tahu apakah Anda dapat menggunakan kueri paralel Aurora. Anda dapat menggunakan teknik ini untuk mengurangi CPU penggunaan pada node kepala dengan menekan pemrosesan fungsi, pemfilteran baris, dan proyeksi kolom untuk klausa. WHERE

  • Cari tahu apakah jumlah SQL eksekusi per detik memenuhi ambang batas yang diharapkan.

  • Cari tahu apakah pemeliharaan indeks atau pembuatan indeks baru membutuhkan CPU siklus yang dibutuhkan oleh beban kerja produksi Anda. Jadwalkan aktivitas pemeliharaan di luar waktu aktivitas puncak.

  • Cari tahu apakah Anda dapat menggunakan partisi untuk membantu mengurangi set data kueri. Untuk informasi selengkapnya, lihat posting blog Cara merencanakan dan mengoptimalkan Amazon Aurora dengan SQL kompatibilitas Saya untuk beban kerja terkonsolidasi.

Memeriksa connection storm

Jika DBLoadCPU metriknya tidak terlalu tinggi, tetapi CPUUtilization metriknya tinggi, penyebab CPU pemanfaatan yang tinggi terletak di luar mesin database. Contoh klasik adalah connection storm.

Periksa apakah kondisi berikut benar:

  • Ada peningkatan dalam metrik Performance Insights dan CPUUtilization metrik Amazon CloudWatchDatabaseConnections.

  • Jumlah utas di CPU lebih besar dari jumlahvCPUs.

Jika kondisi di atas benar, coba kurangi jumlah koneksi basis data. Misalnya, Anda dapat menggunakan kumpulan koneksi seperti RDS Proxy. Untuk mempelajari praktik terbaik pengelolaan dan penskalaan koneksi yang efektif, lihat whitepaper Amazon Aurora My SQL DBA Handbook for Connection Management.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.