Halaman ini menjelaskan cara memantau dan memecahkan masalah kueri yang aktif di database Anda. Memantau kueri ini dapat membantu mengidentifikasi penyebab latensi sistem dan penggunaan CPU yang tinggi.
Di dasbor Insight Kueri, Anda dapat melihat ringkasan transaksi aktif dan daftar transaksi dengan kueri dan statistik terkait. Transaksi ditampilkan berdasarkan waktu mulai transaksi. Jika ada banyak kueri yang berjalan, hasilnya mungkin dibatasi untuk sebagian dari total kueri.
Anda dapat menggunakan bantuan Gemini di Database untuk membantu mengamati dan memecahkan masalah resource Cloud SQL untuk MySQL. Untuk mengetahui informasi selengkapnya, lihat Mengamati dan memecahkan masalah dengan bantuan Gemini.Sebelum memulai
Untuk melihat kueri aktif, Anda harus melakukan hal berikut:
- Siapkan Gemini di Database.
- Buat peran khusus dan tambahkan izin berikut:
Tasks Peran Izin Melihat rekomendasi databaseinsights.viewer
databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
Mengakhiri rekomendasi databaseinsights.operationsAdmin
T/A
Mengaktifkan kueri aktif
Untuk mengaktifkan kueri aktif, selesaikan langkah-langkah berikut:
-
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Di kartu Configuration, klik Edit configuration.
- Luaskan panel Query insight.
- Jika kotak centang Aktifkan insight kueri tidak dicentang, centang kotak tersebut. Kotak centang Active query analysis akan muncul.
- Jika kotak centang ini tidak dicentang, pilih kotak centang tersebut.
- Klik Simpan.
Melihat kueri aktif
Untuk melihat kueri aktif, selesaikan langkah-langkah berikut:
Tambahkan peran ini untuk setiap pengguna yang melihat kueri aktif.
Di konsol Google Cloud, buka halaman Instance Cloud SQL.
Untuk membuka halaman Ringkasan instance, klik nama instance.
Lakukan salah satu tindakan berikut untuk menampilkan dasbor Insight kueri:
- Pilih tab Query Insight.
- Klik Buka Insight kueri untuk mengetahui info selengkapnya tentang kueri dan performa. Dasbor Query Insight akan terbuka. Halaman ini menampilkan detail tentang instance di bagian atas.
Klik tab Tampilan kueri aktif.
Dari sini, Anda dapat mengubah informasi kueri yang muncul di tabel Transaksi yang berjalan paling lama:
- Database: memfilter pemuatan kueri di database tertentu atau semua database.
- Pengguna: memfilter pemuatan kueri dari akun pengguna tertentu.
- Kartu skor ringkasan semua kueri aktif: memberikan ringkasan semua kueri aktif dengan menampilkan total koneksi berdasarkan parameter berikut:
- Distribusi koneksi aktif yang dikategorikan menurut status koneksi.
- Distribusi transaksi aktif berdasarkan status transaksi.
- Distribusi durasi kueri.
- Transaksi yang berjalan paling lama: memberikan ringkasan tentang 50 kueri teratas yang sedang berjalan (dalam status aktif) berdasarkan waktu eksekusi menurun. Anda dapat memfilter dan mengurutkan kueri aktif dalam tabel.
Melihat kueri aktif yang dinormalisasi
Anda dapat melihat daftar transaksi berjalan lama teratas dengan kueri aktif yang dinormalisasi di dasbor Analisis kueri. Kueri aktif yang dinormalisasi akan menghapus data sensitif dan menampilkan ringkasan. Ringkasannya sama untuk nilai yang berbeda yang digunakan dalam contoh berikut:
Kueri reguler
select * from test_table where id=1;
select * from test_table_where id=2;
Ringkasan atau kueri yang dinormalisasi
select * from test_table where id=?;
Kueri yang berjalan di sesi yang berbeda akan ditampilkan sebagai entri yang berbeda di dasbor.
Melihat transaksi terpanjang yang berjalan
Tabel Transaksi yang berjalan paling lama di dasbor Insight kueri berisi kolom berikut:
Nama kolom | Deskripsi |
---|---|
ID proses | ID unik koneksi. |
Kueri | Teks kueri SQL. |
Status transaksi | Status eksekusi transaksi saat ini. Nilai yang diizinkan mencakup: RUNNING , LOCK WAIT , ROLLING BACK , dan COMMITTING . |
Status thread | Status thread (atau status kueri) menunjukkan status thread aktif saat ini. |
Waktu mulai transaksi | Stempel waktu saat transaksi memulai eksekusinya. |
Durasi transaksi | Durasi transaksi aktif saat ini dalam detik. |
Durasi tunggu transaksi | Durasi tunggu dalam detik pada transaksi aktif saat ini. |
Durasi status thread | Waktu yang berlalu dalam kueri. |
Baris transaksi terkunci | Jumlah baris yang dikunci oleh transaksi aktif saat ini. |
Baris transaksi diubah | Jumlah baris yang diubah oleh transaksi aktif saat ini. |
Database | Nama database tempat koneksi ini berjalan. |
Nama pengguna | Nama pengguna yang terhubung ke database. |
Alamat klien | Alamat IP klien tempat pengguna terhubung ke database. |
Tindakan | Berisi link untuk menghentikan transaksi. |
Layar diperbarui setiap 60 detik secara otomatis.
Menghentikan koneksi
Untuk menghentikan kueri atau transaksi, Anda harus memiliki peran databaseinsights.operationsAdmin
. Untuk mengetahui informasi selengkapnya, lihat Referensi peran dasar dan bawaan IAM.
Untuk menghentikan kueri atau transaksi, selesaikan langkah-langkah berikut:
- Di tabel Transaksi yang berjalan paling lama, pilih kueri.
- Di kolom Tindakan, klik Akhiri koneksi.
- Di jendela Terminate connection, klik Confirm.
Permintaan database akan segera ditampilkan saat penghentian terjadi di latar belakang.