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 Query Insights, 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 pada sebagian dari total kueri.
Sebelum memulai
Untuk melihat kueri yang aktif, Anda harus melakukan hal berikut:
- Menyiapkan Gemini di Database.
- Buat peran khusus dan tambahkan izin berikut:
Tasks Peran Izin Melihat rekomendasi databaseinsights.viewer
databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
Menghentikan rekomendasi databaseinsights.operationsAdmin
T/A
Lihat kueri aktif
Untuk melihat kueri yang aktif, lakukan hal 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 Insight kueri.
- Klik Buka Insight kueri untuk mengetahui info lebih mendalam tentang kueri dan performa. Dasbor Insight kueri akan terbuka. Halaman ini menampilkan detail tentang instance di bagian atas.
Klik tab Active query view.
Dari sini, Anda dapat mengubah informasi kueri yang muncul di tabel Longest running operations:
- Database: memfilter pemuatan kueri pada 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 berdasarkan status koneksi.
- Distribusi transaksi aktif berdasarkan status transaksi.
- Distribusi durasi kueri.
- Transaksi berjalan terlama: memberikan ringkasan tentang 50 kueri teratas yang berjalan (dalam status aktif dan tidak ada aktivitas dalam transaksi) berdasarkan waktu eksekusi menurun. Anda dapat memfilter dan mengurutkan kueri aktif di tabel.
Lihat kueri aktif yang dinormalkan
Anda dapat melihat daftar transaksi teratas yang berjalan lama dengan kueri aktif yang dinormalisasi di dasbor Query insights. Kueri aktif yang dinormalisasi akan menghapus data sensitif dan menampilkan ringkasan. Ringkasannya sama untuk nilai berbeda yang digunakan dalam contoh:
Kueri reguler
select * from test_table where id=1;
select * from test_table_where id=2;
Ringkasan atau kueri yang dinormalkan
select * from test_table where id=?;
Kueri yang berjalan pada sesi yang berbeda ditampilkan sebagai entri yang berbeda di dasbor.
Lihat transaksi berjalan terlama
Tabel Transaksi yang berjalan lama di dasbor Insight kueri berisi kolom berikut:
Nama kolom | Deskripsi |
---|---|
ID daftar proses | ID unik koneksi atau ID thread. |
Kueri | Teks kueri SQL. |
Status | Status koneksi. |
Durasi sesi | Durasi sesi terakhir berjalan. |
Durasi transaksi | Durasi transaksi aktif yang berjalan. |
Durasi kueri | Durasi kueri terakhir yang berjalan dalam transaksi tersebut. |
Jenis peristiwa tunggu | Jenis peristiwa tunggu dari peristiwa tunggu yang terjadi. |
Peristiwa tunggu | Peristiwa tunggu yang terjadi. |
Database | Nama database tempat koneksi ini berjalan. |
Nama aplikasi | Nama aplikasi tempat koneksi ini berjalan. |
Nama pengguna | Nama pengguna yang terhubung ke database. |
Alamat klien | Alamat IP spesifik klien yang mengirim kueri. |
Tindakan | Berisi link untuk mengakhiri transaksi. |
Layar dimuat ulang secara otomatis setiap 60 detik.
Menghentikan proses
Untuk menghentikan kueri atau transaksi, Anda harus memiliki peran databaseinsights.operationsAdmin
. Untuk mengetahui informasi selengkapnya, lihat Referensi peran dasar dan peran bawaan IAM.
Untuk menghentikan kueri atau transaksi, selesaikan langkah-langkah berikut:
- Di tabel Longest running transaction, pilih kueri.
- Di kolom Action, klik Terminate connection.
- Di jendela Terminate connection, klik Confirm.
Jika sistem berhasil menghentikan kueri atau transaksi, maka pesan berhasil akan muncul. Sistem juga melakukan rollback jika diperlukan.