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 sejumlah besar kueri yang berjalan, hasilnya mungkin terbatas pada subkumpulan total kueri.
Sebelum memulai
Untuk memantau kueri aktif, Anda dapat menggunakan edisi Cloud SQL Enterprise atau edisi Cloud SQL Enterprise Plus.
Untuk menghentikan sesi atau transaksi yang berjalan lama dalam kueri aktif, Anda harus menggunakan edisi Cloud SQL Enterprise Plus untuk instance Cloud SQL untuk SQL Server.
Untuk informasi selengkapnya tentang edisi Cloud SQL, lihat Pengantar edisi Cloud SQL.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang Anda perlukan guna melihat kueri aktif, minta administrator untuk memberi Anda peran IAM berikut pada project yang menghosting instance Cloud SQL:
-
Melihat ringkasan aktivitas instance:
Cloud SQL Viewer (
roles/cloudsql.viewer
) -
Melihat ringkasan aktivitas database dan transaksi yang berjalan lama:
Database Insights Viewer (
roles/databaseinsights.viewer
) -
Menghentikan sesi atau transaksi yang berjalan lama:
-
Editor Cloud SQL (
roles/cloudsql.editor
) -
Database Insights Operations Admin (
roles/databaseinsights.operationsAdmin
)
-
Editor Cloud SQL (
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk melihat kueri aktif. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melihat kueri aktif:
-
Melihat ringkasan aktivitas database dan transaksi yang berjalan lama:
-
databaseinsights.activeQueries.fetch
-
databaseinsights.activitySummary.fetch
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Mengaktifkan kueri aktif
Saat mengaktifkan insight kueri, Anda akan otomatis mengaktifkan kueri aktif. Agar dapat menghentikan sesi atau transaksi yang berjalan lama dalam kueri aktif, Anda harus menggunakan insight kueri untuk edisi Cloud SQL Enterprise Plus.
Menonaktifkan kueri aktif
Anda tidak dapat menonaktifkan kueri aktif tanpa menonaktifkan insight kueri. Untuk menonaktifkan kueri aktif dan insight kueri, lihat Menonaktifkan insight kueri.
Melihat kueri aktif
Untuk melihat kueri aktif, selesaikan langkah-langkah berikut:
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 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.
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 berbagai nilai 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 dalam sesi yang berbeda ditampilkan sebagai entri yang berbeda di dasbor.
Melihat transaksi terpanjang yang berjalan
Tabel Transaksi yang berjalan paling lama di dasbor Analisis kueri berisi kolom berikut:
Nama kolom | Deskripsi |
---|---|
ID sesi | ID unik sesi. |
Kueri | Teks kueri SQL. |
Status sesi | Status sesi. |
Durasi kueri | Berapa lama kueri telah berjalan. |
Jenis peristiwa tunggu | Jenis peristiwa tunggu, jika permintaan diblokir untuk eksekusi kueri. |
Memblokir ID sesi | ID sesi yang memblokir sesi. |
Durasi tunggu transaksi | Durasi tunggu saat ini, jika sesi diblokir. |
Baris transaksi diubah | Jumlah baris yang ditampilkan ke klien oleh kueri ini. |
% selesai | Persentase pekerjaan yang selesai, jika kueri melaporkan progres. |
Database | Database tempat sesi berjalan. |
Nama aplikasi | Nama aplikasi yang memulai sesi. |
Pengguna | Nama pengguna yang terhubung ke database. |
Alamat klien | Alamat IP spesifik klien yang mengirim kueri. |
Tindakan | Berisi link untuk menghentikan sesi. |
Layar diperbarui setiap 60 detik secara otomatis.
Menghentikan sesi
Untuk menghentikan sesi atau transaksi yang berjalan lama, Anda harus menggunakan edisi Cloud SQL Enterprise Plus dan mengaktifkan insight kueri untuk edisi Cloud SQL Enterprise Plus.
Operasi yang berjalan lama dapat memerlukan waktu lebih lama untuk dihentikan.
Untuk menghentikan kueri atau transaksi, selesaikan langkah-langkah berikut:
- Di tabel Transaksi yang berjalan paling lama, pilih kueri.
- Di kolom Tindakan, klik Hentikan sesi.
- Di jendela Hentikan sesi, klik Konfirmasi.