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 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.

Anda dapat menggunakan bantuan Gemini di Database untuk membantu Anda mengamati dan memecahkan masalah Resource Cloud SQL untuk MySQL. Untuk informasi selengkapnya, lihat Mengamati dan memecahkan masalah dengan bantuan Gemini.

Sebelum memulai

Untuk melihat kueri yang aktif, Anda harus melakukan hal berikut:

  1. Menyiapkan Gemini di Database.
  2. 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:

  1. Tambahkan peran ini untuk setiap pengguna yang melihat kueri aktif.

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

    Buka Instance Cloud SQL

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

  4. 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.
  5. 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:
      1. Distribusi koneksi aktif yang dikategorikan berdasarkan status koneksi.
      2. Distribusi transaksi aktif berdasarkan status transaksi.
      3. Distribusi durasi kueri.
      4. Transaksi berjalan terlama: memberikan ringkasan tentang 50 kueri teratas yang berjalan (dalam status aktif) 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 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 saat ini dari thread yang aktif.
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 yang aktif saat ini.
Durasi status thread Waktu yang berlalu dalam kueri.
Baris transaksi dikunci 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 mengakhiri transaksi.

Layar dimuat ulang secara otomatis setiap 60 detik.

Menghentikan koneksi

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:

  1. Di tabel Longest running transaction, pilih kueri.
  2. Di kolom Action, klik Terminate connection.
  3. Di jendela Terminate connection, klik Confirm.

Permintaan database ditampilkan secara langsung saat penghentian terjadi di latar belakang.