Memantau kueri aktif

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, hasil mungkin dibatasi pada subkumpulan total kueri.

Sebelum memulai

Untuk memantau kueri aktif, Anda dapat menggunakan edisi Cloud SQL Enterprise atau 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 Anda.

Untuk mengetahui informasi selengkapnya tentang edisi Cloud SQL, lihat Pengantar edisi Cloud SQL.

Peran dan izin yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk melihat kueri aktif, minta administrator untuk memberi Anda peran IAM berikut pada project yang menghosting instance Cloud SQL:

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan 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

Untuk mengaktifkan kueri aktif untuk instance edisi Cloud SQL Enterprise, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Overview instance, klik nama instance.
  3. Di kartu Configuration, klik Edit configuration.
  4. Di bagian Sesuaikan instance Anda, luaskan Insight kueri.
  5. Pastikan Aktifkan Query Insight diaktifkan.
  6. Pilih Analisis kueri aktif.
  7. Klik Simpan.

Untuk mengaktifkan kueri aktif untuk instance edisi Cloud SQL Enterprise Plus, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Overview instance, klik nama instance.
  3. Di kartu Configuration, klik Edit configuration.
  4. Di bagian Sesuaikan instance Anda, luaskan Insight kueri.
  5. Pastikan Aktifkan Query Insight diaktifkan.
  6. Pilih Aktifkan fitur Enterprise Plus.
  7. Pilih Analisis kueri aktif.
  8. Klik Simpan.

Untuk 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

Untuk menonaktifkan kueri aktif pada instance edisi Cloud SQL Enterprise atau Cloud SQL Enterprise Plus, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Overview instance, klik nama instance.
  3. Di kartu Configuration, klik Edit configuration.
  4. Di bagian Sesuaikan instance Anda, luaskan Insight kueri.
  5. Hapus centang pada kotak Analisis kueri aktif.
  6. Klik Simpan.

Melihat kueri aktif

Untuk melihat kueri aktif Anda, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.

  3. 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 insights akan terbuka. Halaman ini menampilkan detail tentang instance di bagian atas.
  4. 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.
    • Kartu skor ringkasan semua kueri aktif: memberikan ringkasan semua kueri aktif dengan menampilkan total koneksi berdasarkan parameter berikut:

      1. Distribusi koneksi aktif yang dikategorikan berdasarkan status koneksi.
      2. Distribusi transaksi aktif berdasarkan status transaksi.
      3. Distribusi durasi kueri.
    • Transaksi yang berjalan paling lama: memberikan ringkasan 50 kueri teratas yang sedang berjalan (dalam status aktif dan tidak aktif dalam transaksi) berdasarkan waktu eksekusi menurun. Anda dapat memfilter dan mengurutkan kueri aktif dalam tabel.

Melihat kueri aktif yang dinormalisasi

Anda dapat melihat daftar transaksi terlama teratas dengan kueri aktif yang dinormalisasi di dasbor Insight kueri. Kueri aktif yang dinormalisasi 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 ditampilkan sebagai entri yang berbeda di dasbor.

Melihat transaksi yang berjalan paling lama

Tabel Transaksi yang berjalan paling lama di dasbor Insight kueri berisi kolom berikut:

Nama kolom Deskripsi
ID proses ID unik koneksi atau ID thread.
Kueri Teks kueri SQL.
Status Status koneksi.
Durasi sesi Durasi sesi terakhir yang berjalan.
Durasi transaksi Durasi transaksi aktif yang sedang 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 menghentikan transaksi.

Tampilan diperbarui secara otomatis setiap 60 detik.

Menghentikan proses

Untuk menghentikan proses atau transaksi yang berjalan lama dalam kueri aktif, Anda harus menggunakan edisi Cloud SQL Enterprise Plus dan mengaktifkan Analisis kueri aktif dan 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:

  1. Di tabel Transaksi yang berjalan paling lama, pilih kueri.
  2. Di kolom Tindakan, klik Hentikan koneksi.
  3. Di jendela Akhiri koneksi, klik Konfirmasi.

Jika sistem berhasil menghentikan kueri atau transaksi, pesan berhasil akan muncul. Sistem juga melakukan rollback jika diperlukan.

Kueri aktif yang diblokir

Jika kueri aktif tertentu diblokir atau berjalan lebih lama dari yang diharapkan, maka kueri aktif tersebut dapat memblokir kueri dependen lainnya.

Cloud SQL memberi Anda opsi untuk menghentikan kueri aktif tertentu yang berjalan lama atau diblokir.

Mengaktifkan analisis kueri aktif yang diblokir

Secara default, Google Cloud konsol tidak menampilkan kueri aktif mana yang diblokir. Untuk dapat menganalisis kueri aktif yang diblokir, aktifkan terlebih dahulu edisi Cloud SQL Enterprise Plus dan kueri aktif di instance.

Untuk mengaktifkan analisis kueri aktif yang diblokir, lakukan tindakan berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Klik Edit.
  4. Perluas Query Insight.
  5. Pilih Aktifkan fitur Enterprise Plus dan Analisis kueri aktif. Kedua setelan diperlukan.
  6. Pilih Analisis kueri yang diblokir.
  7. Klik Simpan.

Mengidentifikasi dan menghentikan kueri aktif yang diblokir

Langkah-langkah berikut menunjukkan cara mengidentifikasi dan menghentikan kueri aktif tertentu yang mungkin memblokir kueri lain.

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Untuk membuka halaman Ringkasan instance, klik nama instance.
  3. Di menu navigasi SQL, klik Query insights.
  4. Klik tab Kueri aktif.

    Jika Anda belum menjalankan kueri aktif, buka Cloud SQL Studio dan jalankan kueri yang ingin Anda selidiki.

  5. Buka bagian Transaksi yang berjalan paling lama. Anda dapat melihat hingga 50 kueri aktif yang berjalan paling lama.

    Setiap entri yang ditampilkan mencakup informasi berikut:

    • ID Proses: ID proses kueri. Klik luaskan untuk melihat entri. Anda dapat melihat salah satu dari dua ikon:
      • Ikon jam pasir: Ikon ini menunjukkan bahwa proses sedang menunggu kueri lain selesai. Jika ada angka di samping ikon, angka tersebut menunjukkan jumlah kueri dependen yang menunggu proses ini selesai.
      • Ikon simbol pemblokiran: Ikon ini menunjukkan bahwa proses tidak dapat diselesaikan dan mungkin memblokir kueri lain.
    • Jenis kueri: Jenis kueri yang berjalan, seperti SELECT atau UPDATE.
    • Status: Status kueri aktif, seperti ACTIVE.
    • Durasi sesi (detik): Durasi sesi saat ini (dalam detik).
    • Durasi transaksi (detik): Durasi transaksi aktif saat ini (dalam detik).
    • Durasi kueri (detik): Durasi kueri aktif saat ini (dalam detik).
    • Jenis peristiwa tunggu: Jenis peristiwa tunggu yang sedang terjadi selama eksekusi kueri, seperti Waktu tunggu habis atau Penguncian.
    • Peristiwa tunggu: Peristiwa tunggu yang sedang terjadi selama eksekusi kueri.
    • Tindakan: Tindakan yang dapat dilakukan, seperti Hentikan koneksi.

    Klik untuk meluaskan ID proses yang ingin Anda selidiki. Anda dapat meluaskan proses pokok hingga tiga tingkat di pohon investigasi.

  6. Identifikasi kueri tertentu yang diblokir, lalu klik Hentikan koneksi. Setelah menghentikan koneksi, Anda dapat membuka Cloud SQL Studio untuk menjalankan kembali kueri aktif Anda.

Langkah berikutnya