全部产品
Search
文档中心

ApsaraDB RDS:Bagaimana cara menggunakan CloudDBA untuk mengurangi Penggunaan CPU pada instans ApsaraDB RDS for MySQL saya?

更新时间:Oct 10, 2025

Deskripsi masalah

Saat menggunakan ApsaraDB RDS for MySQL, pengecualian sistem seperti respons lambat, kegagalan koneksi, dan kesalahan dapat terjadi akibat penggunaan CPU yang tinggi.

Penyebab

Dalam skenario dengan penggunaan CPU yang terlalu tinggi, lebih dari 95% masalah disebabkan oleh Pernyataan SQL yang tidak optimal. Pernyataan SQL yang tidak dioptimalkan memengaruhi kinerja database sebagai berikut. Selain itu, konflik kunci baris, menunggu kunci baris, atau tugas latar belakang juga dapat menyebabkan penggunaan CPU yang tinggi, tetapi kemungkinannya sangat rendah sehingga tidak dibahas dalam artikel ini.

  • Database menghasilkan sejumlah besar pembacaan logis, yang meningkatkan penggunaan CPU.
  • Mengakibatkan sejumlah besar pembacaan fisik ke database, yang meningkatkan IOPS dan latensi I/O.
Catatan

None

Deskripsi: Untuk informasi lebih lanjut tentang pembacaan logis dan fisik, lihat informasi lebih lanjut.

Solusi

Catatan

None

Alibaba Cloud mengingatkan Anda bahwa:

  • Sebelum melakukan operasi yang mungkin berisiko, seperti mengubah konfigurasi instans atau data, pastikan untuk memeriksa kemampuan pemulihan bencana dan toleransi kesalahan instans guna memastikan keamanan data.
  • Anda dapat mengubah konfigurasi dan data instans, termasuk namun tidak terbatas pada Elastic Compute Service (ECS) dan Relational Database Service (RDS). Sebelum modifikasi, kami sarankan Anda membuat Snapshot atau mengaktifkan cadangan log RDS.
  • Jika Anda telah memberikan otorisasi atau mengirimkan informasi sensitif seperti akun login dan kata sandi di Konsol Manajemen Alibaba Cloud, segera perbarui informasi tersebut.

Topik ini menjelaskan cara menggunakan CloudDBA untuk mengidentifikasi Pernyataan SQL yang lambat dan tidak normal. Anda dapat menggunakan saran dari CloudDBA untuk mengoptimalkan Pernyataan SQL ini, mengurangi penggunaan CPU instans, dan meningkatkan efisiensi sistem.

Gunakan Diagnostik SQL untuk Memecahkan Masalah Pernyataan SQL yang Tidak Normal

  1. Login ke Konsol RDS. Pilih Wilayah tempat instans tujuan berada.
  2. Klik ID instans untuk masuk ke halaman informasi dasar.
  3. Di panel navigasi di sebelah kiri, pilih kueri SQL lambat. Halaman SQL lambat akan muncul.
  4. Pilih rentang waktu untuk kueri, lalu klik konfirmasi.
    Catatan

    Deskripsi: Saat ini, hanya data SQL lambat untuk satu bulan terakhir yang didukung.

  5. Jika ada SQL lambat di instans, ikon akan menampilkan titik waktu dan jumlah SQL lambat yang dihasilkan. Klik titik waktu pada gambar.
  6. Cara menganalisis pernyataan SQL lambat: Fokus pada nilai tanggapan baris dan baris yang dipindai di detail log lambat. Jika setiap pernyataan SQL memindai banyak baris tetapi jumlah baris yang dikembalikan adalah 0, ini menunjukkan adanya sejumlah besar pembacaan logis dan fisik. Pembacaan fisik terjadi karena ukuran memori terbatas sehingga tidak semua data dapat disimpan dalam cache. Jika ada sejumlah besar permintaan data, sejumlah besar permintaan I/O fisik pasti akan dihasilkan. Pembacaan logis yang besar mengonsumsi banyak Sumber daya CPU, yang mengarah pada penggunaan CPU tinggi.
  7. Klik pernyataan SQL untuk melihat detailnya.
  8. Klik Optimasi SQL untuk melihat saran optimasi CloudDBA untuk pernyataan SQL. Analisis menunjukkan bahwa indeks hilang dalam pernyataan SQL, yang mengarah pada pemindaian tabel penuh. Selain itu, menurut mekanisme pembaruan data MySQL, seluruh tabel dikunci setiap kali pernyataan dijalankan, sehingga memperparah masalah. Semua sesi yang mengeksekusi pernyataan ini akan antre dan menunggu, serta biaya eksekusi tunggal sangat tinggi, sehingga mudah menyebabkan penggunaan CPU tinggi hingga mencapai 100%.
  9. Optimalkan pernyataan SQL abnormal berdasarkan saran optimasi. Dengan demikian, masalah penggunaan CPU tinggi akan terselesaikan.

Gunakan Statistik SQL untuk Memecahkan Masalah Pernyataan SQL

Untuk informasi lebih lanjut tentang cara menangani pengecualian SQL menggunakan fitur statistik SQL, lihat Penggunaan.

Catatan

None

Perhatian Audit SQL dikenakan biaya secara terpisah. Untuk menghemat biaya, Anda dapat mengaktifkan Audit SQL sebelum melihat pernyataan SQL di database dan mematikan fitur ini setelah pemecahan masalah selesai.

Perhatian: Audit SQL dikenakan biaya secara terpisah. Untuk menghemat biaya, Anda dapat mengaktifkan audit SQL sebelum melihat pernyataan SQL di database, dan mematikan fitur ini setelah pemecahan masalah selesai.

Informasi lebih lanjut

Data dalam database diukur dalam blok. Satu blok MySQL adalah 8kB, dan satu pembacaan logis atau fisik sesuai dengan satu blok data. Saat database mengeksekusi pernyataan kueri bisnis (termasuk operasi modifikasi data), CPU pertama-tama meminta blok data dari memori. Jika data yang sesuai ada di memori, CPU mengembalikan hasil setelah menjalankan tugas komputasi. Jika data tidak ditemukan di memori, sistem memicu operasi baca. Dua proses akuisisi data ini adalah pembacaan logis dan pembacaan fisik masing-masing.

Ruang lingkup aplikasi

  • ApsaraDB for RDS