Halaman ini menjelaskan cara menggunakan fitur insight kueri lanjutan untuk AlloyDB guna mendeteksi dan menganalisis masalah performa kueri hampir secara real time untuk instance utama dan kumpulan baca. Untuk ringkasan fitur insight kueri lanjutan untuk AlloyDB, lihat Ringkasan fitur insight kueri lanjutan untuk AlloyDB.
Untuk mempelajari cara menggunakan insight kueri standar, lihat Meningkatkan performa kueri menggunakan insight kueri.
Anda dapat menggunakan Gemini Cloud Assist untuk membantu Anda memantau dan memecahkan masalah resource AlloyDB. Untuk mengetahui informasi selengkapnya, lihat Memantau dan memecahkan masalah dengan bantuan Gemini.
Sebelum memulai
Untuk mengakses dasbor insight kueri, aktifkan akses ke AlloyDB untuk PostgreSQL di Google Cloud project Anda.
Peran yang diperlukan
Untuk menggunakan fitur insight kueri lanjutan untuk AlloyDB, Anda memerlukan izin untuk melakukan hal berikut:
- Untuk mengakses fitur insight kueri lanjutan untuk AlloyDB, Anda memerlukan izin untuk mengakses dasbor insight kueri AlloyDB.
- Untuk mengedit setelan fitur insight kueri lanjutan untuk AlloyDB, Anda memerlukan izin untuk memperbarui instance AlloyDB.
Untuk mendapatkan izin ini, minta administrator untuk memberi Anda salah satu peran berikut:
- Penampil dasar (
roles/viewer
) - Penampil insight database (
roles/databaseinsights.viewer
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.
Mengaktifkan fitur insight kueri lanjutan untuk AlloyDB
Untuk mengaktifkan konfigurasi insight kueri lanjutan untuk instance AlloyDB, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Klik Aktifkan atau Edit setelan.
Di tab Edit setelan insight kueri, centang kotak Aktifkan fitur insight kueri lanjutan untuk AlloyDB.
Hal ini memerlukan perubahan konfigurasi berikut secara default:
- Mengaktifkan kotak centang Analisis peristiwa tunggu dan Analisis kueri aktif.
- Meningkatkan panjang kueri dari 4.500 B menjadi 100.000 B.
Simpan perubahan. Tindakan ini akan memulai ulang instance AlloyDB untuk PostgreSQL Anda.
gcloud
gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled
Ganti kode berikut:
INSTANCE
: ID instance yang akan diupdate.CLUSTER
: ID cluster instance.PROJECT
: ID project cluster.REGION
: region cluster—misalnya,us-central1
.
Flag --observability-config-enabled
memungkinkan pengumpulan dan analisis data pada instance AlloyDB untuk memantau performa dan kondisinya. Jika Anda ingin menonaktifkan insight kueri lanjutan, gunakan --no-observability-config-enabled
.
Terraform
Untuk menggunakan Terraform guna mengaktifkan insight kueri lanjutan di instance AlloyDB Anda, tetapkan kolom enabled
ke true
di blok observability_config
.
Berikut contohnya:
observability_config { enabled = true ... }
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST v1
Contoh ini mengaktifkan insight kueri lanjutan di instance AlloyDB Anda. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat Metode: projects.locations.clusters.instances.patch. Untuk mengetahui informasi tentang setelan insight kueri lanjutan, lihat Mengedit setelan insight kueri lanjutan.
Sebelum menggunakan data permintaan apa pun, lakukan penggantian berikut:
CLUSTER_ID
: ID cluster yang Anda buat. Nama harus diawali dengan huruf kecil dan dapat berisi huruf kecil, angka, dan tanda hubung.PROJECT_ID
: ID project tempat Anda ingin menempatkan cluster.LOCATION_ID
: ID region cluster.INSTANCE_ID
: nama instance utama yang ingin Anda buat.
Untuk mengaktifkan konfigurasi instance, gunakan permintaan PATCH
berikut:
PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled}
Parameter kueri updateMask=observabilityConfig.enabled
memberi tahu API untuk memperbarui kolom enabled
dalam blok observabilityConfig
.
Isi JSON permintaan akan terlihat seperti berikut:
{
"observabilityConfig": {
"enabled" : true,
}
}
Setelah insight kueri lanjutan diaktifkan, Anda dapat mengedit setelan insight kueri lanjutan.
Mengedit setelan fitur lanjutan
Untuk mengedit konfigurasi insight kueri lanjutan untuk instance AlloyDB, ikuti langkah-langkah berikut:
Konsol
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Klik Edit setelan, lalu ubah salah satu setelan berikut:
- Analisis peristiwa tunggu Analisis peristiwa tunggu dapat membantu Anda mengidentifikasi dan menyelesaikan masalah performa di database. Peristiwa tunggu adalah komponen yang menyebabkan penundaan dalam memproses operasi terkait kueri.
- Analisis kueri aktif Melacak kueri yang sedang berjalan.
- Simpan komentar kueri Pelajari konteks kueri dengan melihat komentar yang terkait dengan kueri yang Anda selidiki, sebagai bagian dari panjang kueri. Tidak memerlukan memori tambahan. Jika komentar Anda berisi informasi sensitif, perhatikan akses pengguna.
- Aktifkan konsultan indeks Menampilkan rekomendasi pembuatan indeks di halaman insight kueri cluster.
- Di kolom Pilih frekuensi penayangan, Anda dapat menentukan frekuensi update untuk rekomendasi.
- Simpan alamat IP klien Aktifkan untuk melacak alamat IP klien dan menganalisis data tersebut.
- Simpan tag aplikasi Aktifkan untuk mempelajari API dan rute pengontrol tampilan model mana yang membuat permintaan, dan kelompokkan data tersebut untuk menjalankan metrik pada API dan rute tersebut.
- Pengambilan sampel paket kueri Paket kueri memvisualisasikan operasi yang digunakan untuk menyelesaikan sampel kueri. Frekuensi sampling menentukan jumlah sampel kueri yang dapat diambil per menit di seluruh database Anda. Kecepatan yang lebih tinggi memerlukan lebih banyak memori.
- Di kolom Panjang kueri, Anda dapat mengubah batas default pada panjang kueri, dari 256 byte hingga 100 KB. Panjang kueri yang lebih tinggi memerlukan lebih banyak memori. Jika ingin mengubah panjang kueri, instance harus dimulai ulang.
Simpan perubahan.
gcloud
gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-preserve-comments \
--observability-config-track-wait-events \
--observability-config-max-query-string-length=QUERY_LENGTH \
--observability-config-record-application-tags \
--observability-config-query-plans-per-minute=QUERY_PLANS \
--observability-config-track-active-queries
Ganti kode berikut:
INSTANCE
: ID instance yang akan diupdate.CLUSTER
: ID cluster instance.PROJECT
: ID project cluster.REGION
: region cluster—misalnya,us-central1
.QUERY_LENGTH
: panjang kueri yang berkisar dari 1024 hingga 100000 byte. Panjang kueri default adalah 10240 byte. Panjang kueri yang lebih tinggi lebih berguna untuk kueri analitis, tetapi juga memerlukan lebih banyak memori. Jika panjang kueri diubah, Anda harus memulai ulang instance. Anda masih dapat menambahkan tag ke kueri yang melebihi batas panjang.QUERY_PLANS
: jumlah rencana kueri yang akan dikonfigurasi per menit. Secara default, maksimum 20 sampel paket kueri yang dijalankan diambil per menit di semua database pada instance. Ubah nilai ini menjadi angka dari 1 hingga 20. Untuk menonaktifkan pengambilan sampel, masukkan 0. Meningkatkan frekuensi sampling kemungkinan akan memberi Anda lebih banyak titik data, tetapi dapat berdampak negatif pada performa.
Gunakan flag observabilitas opsional berikut jika diperlukan:
--observability-config-track-active-queries
: mengaktifkan pelacakan kueri aktif. Jika Anda ingin menonaktifkan fitur ini, gunakan--no-observability-config-track-active-queries
.--observability-config-record-application-tags
: menyimpan tag aplikasi yang membantu Anda menentukan API dan rute pengontrol tampilan model (MVC) yang membuat permintaan dan mengelompokkan data untuk menjalankan metrik pada tag tersebut. Opsi ini mengharuskan Anda mengomentari kueri dengan sekumpulan tag tertentu. Jika Anda tidak ingin menyimpan tag aplikasi, gunakan--no-observability-config-record-application-tags
.--observability-config-preserve-comments
: menyimpan anotasi yang ditambahkan ke kode SQL untuk memberikan informasi tentang kode tanpa memengaruhi eksekusinya. Jika Anda tidak ingin menyimpan anotasi, gunakan--no-observability-config-preserve-comments
.--observability-config-track-wait-events
: memungkinkan menunggu peristiwa dari setiap jenis peristiwa tunggu. Jika Anda tidak ingin melacak peristiwa tunggu, gunakan--no-observability-config-track-wait-events
.
Terraform
Untuk menggunakan Terraform guna mengonfigurasi insight kueri lanjutan pada instance AlloyDB, gunakan resource google_alloydb_instance
.
Berikut adalah contohnya:
observability_config { enabled = ENABLED_VALUE preserve_comments = PRESERVE_COMMENTS_VALUE track_wait_events = TRACK_WAIT_EVENTS_VALUE max_query_string_length = MAX_QUERY_STRING_LENGTH_VALUE record_application_tags = RECORD_APPLICATION_TAGS_VALUE query_plans_per_minute = QUERY_PLANS_PER_MINUTE_VALUE track_active_queries = TRACK_ACTIVE_QUERIES_VALUE }
Ganti kode berikut:
ENABLED_VALUE
: status fitur kemampuan pengamatan untuk instance. Setel ketrue
saat Anda mengedit setelan dan menentukan flag lain sesuai kebutuhan.PRESERVE_COMMENTS_VALUE
: mempertahankan komentar dalam string kueri. Nilai defaultnya adalahfalse
.TRACK_WAIT_EVENTS_VALUE
: mencatat peristiwa tunggu selama eksekusi kueri untuk instance. Nilai defaultnya adalahtrue
.MAX_QUERY_STRING_LENGTH_VALUE
: panjang string kueri. Nilai defaultnya adalah10240
. Semua bilangan bulat antara 1024 dan 100000 valid.RECORD_APPLICATION_TAGS_VALUE
: merekam tag aplikasi untuk instance. Nilai defaultnya adalahtrue
.QUERY_PLANS_PER_MINUTE_VALUE
: jumlah paket eksekusi kueri yang diambil oleh insight per menit untuk semua kueri yang digabungkan. Nilai defaultnya adalah20
. Semua bilangan bulat antara 0 dan 20 valid.TRACK_ACTIVE_QUERIES_VALUE
: melacak kueri yang sedang berjalan secara aktif. Nilai defaultnya adalahfalse
.Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
REST v1
Contoh ini mengonfigurasi setelan insight kueri lanjutan pada instance AlloyDB Anda. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat Metode: projects.locations.clusters.instances.patch.
Untuk mengonfigurasi setelan insight kueri lanjutan, tetapkan kolom enabled
ke true
dan ubah kolom opsional lainnya sesuai kebutuhan. Untuk mengetahui daftar lengkap kolom untuk panggilan ini, lihat ObservabilityInstanceConfig.
Sebelum menggunakan data permintaan apa pun, lakukan penggantian berikut:
CLUSTER_ID
: ID cluster yang Anda buat. Nama harus diawali dengan huruf kecil dan dapat berisi huruf kecil, angka, dan tanda hubung.PROJECT_ID
: ID project tempat Anda ingin menempatkan cluster.LOCATION_ID
: ID region cluster.INSTANCE_ID
: nama instance utama yang ingin Anda buat.
Untuk mengubah konfigurasi instance, gunakan permintaan PATCH
berikut:
PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled,observabilityConfig.preserveComments,observabilityConfig.trackWaitEvents,observabilityConfig.maxQueryStringLength,observabilityConfig.recordApplicationTags,observabilityConfig.queryPlansPerMinute,observabilityConfig.trackActiveQueries,observabilityConfig.trackClientAddress}
Isi JSON permintaan yang mengonfigurasi semua kolom insight kueri lanjutan terlihat sebagai berikut:
{
"observabilityConfig": {
"enabled" : true,
"preserveComments": true,
"trackWaitEvents": true,
"maxQueryStringLength": 5000,
"recordApplicationTags": true,
"queryPlansPerMinute": 20,
"trackActiveQueries": true,
}
}
Mendeteksi dan mendiagnosis masalah performa kueri
Anda dapat menggunakan insight kueri lanjutan untuk mendeteksi dan mendiagnosis masalah performa. Dasbor insight kueri menampilkan pemuatan database, yang merupakan ukuran pekerjaan (dalam detik CPU) yang dilakukan kueri yang dieksekusi di database yang dipilih dari waktu ke waktu. Setiap kueri yang berjalan menggunakan atau menunggu resource. Beban database adalah rasio jumlah waktu yang dibutuhkan oleh semua kueri yang diselesaikan dalam jangka waktu tertentu, dalam waktu nyata yang berlalu.
Melihat ukuran pekerjaan yang dilakukan oleh kueri yang dijalankan
Grafik pemuatan database memberikan ukuran pekerjaan yang dilakukan (dalam detik CPU) oleh semua kueri yang dieksekusi di database Anda, yang dikelompokkan menurut dimensi yang dipilih. Beban database dibagi menjadi data distribusi yang Anda pilih dari drop-down diagram.
Anda dapat mengelompokkan beban database menurut salah satu dimensi berikut:
- Kueri
- Jenis peristiwa tunggu
- Peristiwa tunggu
- Database
- Pengguna
Untuk melihat pekerjaan yang diselesaikan oleh kueri yang dijalankan di database Anda, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Pilih total waktu eksekusi yang datanya ingin Anda tampilkan, misalnya, 1 atau 6 jam, atau waktu kustom.
Di menu drop-down Database Load by execution time, pilih dimensi yang ingin Anda selidiki. Bergantung pada dimensi yang Anda pilih, grafik akan menampilkan kontribusi dimensi yang dipilih terhadap beban database secara keseluruhan. Misalnya, jika Anda memilih dimensi Peristiwa tunggu dari drop-down diagram pemuatan database, perincian semua peristiwa tunggu yang terjadi selama rentang waktu yang dipilih untuk database dan pengguna yang dipilih akan ditampilkan dalam diagram pemuatan database.
Diagram beban database menampilkan data untuk semua sembilan jenis peristiwa tunggu dan peristiwa tunggu yang didukung di PostgreSQL. Bergantung pada jumlah dan jenis peristiwa tunggu, sepuluh peristiwa dan jenis peristiwa tunggu yang paling berkontribusi akan ditampilkan. Jika ada lebih dari sepuluh peristiwa tunggu, sembilan peristiwa tunggu teratas akan ditampilkan, dan sisanya dikelompokkan ke dalam kategori Lainnya. Pendekatan ini juga berlaku untuk dimensi lain seperti Kueri, Database, dan Pengguna.
Melihat kontributor utama beban database
Dengan tabel Dimensi teratas menurut beban database, Anda dapat melihat kontributor teratas untuk beban database selama rentang waktu yang dipilih dan dimensi yang dipilih dalam diagram Beban Database. Bergantung pada dimensi yang Anda pilih di tabel Dimensi teratas menurut beban database, Anda dapat menemukan nilai teratas untuk periode waktu yang dipilih.
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Pilih total waktu eksekusi yang datanya ingin Anda tampilkan, misalnya, 1 atau 6 jam, atau waktu kustom.
Di tabel Dimensi teratas menurut beban database, Anda dapat mengklik salah satu opsi berikut:
Dimensi Deskripsi Kueri Tabel ini menampilkan kueri yang dinormalisasi teratas berdasarkan total waktu eksekusi. Untuk setiap kueri, data yang ditampilkan dalam kolom dicantumkan sebagai berikut:
- Rata-rata Waktu Pelaksanaan (milidetik). Waktu rata-rata kueri untuk dieksekusi.
- Total waktu eksekusi (md). Total waktu eksekusi yang dibutuhkan oleh kueri tertentu.
- Baris yang Ditampilkan. Jumlah rata-rata baris yang diambil untuk kueri.
- Waktu Pemanggilan. Frekuensi kueri dipanggil oleh aplikasi.
- %load menurut dimensi diagram. Diagram pil menggambarkan bagaimana dimensi diagram didistribusikan untuk kueri tertentu.
Jenis peristiwa tunggu Tabel menampilkan daftar jenis peristiwa tunggu teratas yang terjadi selama rentang waktu yang dipilih.
- Waktu rata-rata yang dihabiskan dalam menunggu (md). Waktu rata-rata kueri yang dihabiskan dalam jenis peristiwa tunggu tertentu.
- Total waktu yang dihabiskan untuk menunggu (ms). Total waktu eksekusi yang dihabiskan kueri dalam jenis peristiwa tunggu tertentu.
- Jumlah jenis peristiwa tunggu. Jumlah kemunculan jenis peristiwa tunggu tertentu dalam rentang waktu yang dipilih.
- %load menurut dimensi diagram. Diagram pil menggambarkan bagaimana dimensi diagram yang dipilih di drop-down diagram beban database didistribusikan di seluruh jenis peristiwa tunggu tertentu.
Peristiwa tunggu Tabel menampilkan daftar peristiwa tunggu teratas yang terjadi selama rentang waktu yang dipilih.
- Waktu rata-rata yang dihabiskan dalam menunggu (md). Waktu rata-rata yang dihabiskan kueri dalam peristiwa tunggu tertentu.
- Total waktu yang dihabiskan untuk menunggu (ms). Total waktu eksekusi yang dihabiskan kueri dalam peristiwa tunggu tertentu.
- Jumlah peristiwa tunggu. Jumlah kemunculan peristiwa wait tertentu dalam rentang waktu yang dipilih.
- %load menurut dimensi diagram. Diagram pil menggambarkan cara dimensi diagram yang dipilih di drop-down diagram muatan database didistribusikan di seluruh peristiwa tunggu tertentu.
Database Tabel ini menampilkan daftar database teratas yang berkontribusi pada pemuatan selama rentang waktu yang dipilih di semua kueri yang dijalankan.
- Rata-rata waktu yang dihabiskan dalam database (md). Waktu rata-rata yang dihabiskan kueri dalam database tertentu.
- Total waktu yang dihabiskan dalam database (md). Total waktu eksekusi yang dihabiskan kueri dalam database tertentu.
- %load menurut dimensi diagram. Diagram pil menggambarkan cara dimensi diagram yang dipilih di drop-down diagram pemuatan database didistribusikan di seluruh database tertentu.
Pengguna Tabel ini menampilkan daftar pengguna teratas untuk rentang waktu yang dipilih di semua kueri yang dijalankan.
- Waktu rata-rata yang dihabiskan pengguna (md). Rata-rata waktu yang dihabiskan kueri untuk pengguna tertentu.
- Total waktu yang dihabiskan pengguna (ms). Total waktu eksekusi yang dihabiskan kueri di pengguna tertentu.
- %load menurut dimensi diagram. Diagram pil menggambarkan bagaimana dimensi diagram yang dipilih di drop-down diagram pemuatan database didistribusikan di seluruh pengguna tertentu.
Melihat waktu eksekusi kueri
Fitur insight kueri lanjutan untuk AlloyDB menampilkan sepuluh kueri teratas yang berkontribusi pada pemuatan database dalam tabel Dimensi teratas menurut pemuatan database. Kueri teratas adalah kueri yang berkontribusi paling besar terhadap pemuatan database untuk rentang waktu yang dipilih. Kueri berikutnya adalah persentase dari waktu eksekusi terpanjang.
Untuk mempelajari cara waktu eksekusi parameter di Dimensi teratas menurut beban database dipengaruhi oleh nilai yang berbeda dari dimensi diagram yang dipilih (kueri, jenis peristiwa tunggu, peristiwa tunggu, database, dan pengguna), ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Lihat % pemuatan menurut dimensi diagram dalam tabel Dimensi teratas menurut pemuatan database untuk mempelajari pengaruh parameter dalam tabel terhadap parameter dalam diagram Pemuatan Database.
Misalnya, saat Anda memilih Semua Kueri di diagram Pemuatan Database dan Anda mengklik tab Kueri di tabel Dimensi teratas menurut pemuatan database, % pemuatan menurut Kueri akan menampilkan daftar kueri yang memberikan kontribusi terbesar terhadap pemuatan database di database yang dipilih selama jangka waktu tertentu.
Melihat detail tentang waktu eksekusi kueri
Anda dapat melihat detail tentang waktu eksekusi kueri di Detail selengkapnya, termasuk dimensi yang Anda pilih dalam diagram dan tabel pemuatan database, definisi setiap peristiwa tunggu, dan data yang dienkapsulasi dalam kategori Lainnya.
Detail selengkapnya juga menampilkan detail informasi kompleks yang tidak ditampilkan di tempat lain di layar detail kueri. Informasi ini mencakup definisi setiap peristiwa tunggu.
Untuk melihat detail tentang waktu eksekusi kueri, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Di tabel Dimensi teratas menurut beban database, klik Detail selengkapnya untuk kueri.
Fitur insight kueri lanjutan untuk AlloyDB menampilkan kueri yang dinormalkan ($1, $2, dan sebagainya) untuk menggantikan nilai konstanta literal. Contoh:
UPDATE "demo_customer" SET "customer_id" = $1::uuid, "name" = $2, "address" = $3, "rating" = $4, "balance" = $5, "current_city" = $6, "current_location" = $7 WHERE "demo_customer"."id" = $8
Nilai konstanta diabaikan sehingga insight kueri lanjutan dapat menggabungkan kueri serupa dan menghapus informasi Identitas Pribadi (PII) yang mungkin ditampilkan konstanta tersebut.
Menentukan muatan database untuk kueri yang dinormalisasi
Untuk menampilkan ukuran waktu dan penggunaan resource menurut eksekusi kueri (dalam detik CPU) yang dilakukan kueri yang dinormalkan dan dipilih di database yang dipilih dari waktu ke waktu, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Klik Queries di diagram Database Load. Untuk menghitung pemuatan database, diagram Pemuatan Database menggunakan jumlah waktu yang dibutuhkan oleh kueri yang dinormalisasi dan diselesaikan dalam batas menit hingga waktu aktual yang berlalu.
Di bagian atas diagram Pemuatan Database, 10 KB karakter pertama dari kueri yang dinormalisasi ditampilkan, dengan literal dihapus karena alasan agregasi dan informasi identitas pribadi (PII).
Untuk membantu menentukan distribusi waktu yang dihabiskan di setiap status ini, fitur insight kueri lanjutan untuk AlloyDB mendistribusikan per beban kueri yang dinormalisasi ke dalam peristiwa tunggu dan jenis peristiwa tunggu.
Anda dapat mempelajari latensi kueri menggunakan diagram Latensi. Latensi adalah waktu yang dibutuhkan oleh kueri yang dinormalkan untuk menyelesaikan proses dalam waktu real-time yang telah berlalu. Latensi kueri paralel diukur dalam waktu nyata yang berlalu meskipun muatan database bisa lebih tinggi untuk kueri tersebut karena beberapa inti digunakan untuk menjalankan bagian dari kueri.
Anda dapat memfilter menurut persentil untuk melihat persentil ke-50, ke-95, atau ke-99 guna mendeteksi kueri yang tidak sesuai dengan waktu eksekusi yang diharapkan. Untuk menganalisis latensi historis untuk kueri yang dinormalisasi, ubah periode waktu.
Menganalisis kueri yang dinormalisasi
Paket kueri membantu Anda memahami dan menganalisis kueri yang dinormalisasi dengan memberikan perincian berbagai operasi dalam contoh kueri Anda.
Contoh paket kueri memberikan tampilan EXPLAIN ANALYZE
untuk contoh
paket kueri yang terkait dengan kueri yang dinormalkan. Ini adalah rencana kueri yang dijalankan
yang memberikan perincian waktu aktif yang digunakan oleh setiap operasi dalam rencana
kueri.
Untuk melihat rencana kueri contoh, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Pilih total waktu eksekusi yang datanya ingin Anda tampilkan, misalnya, 1 atau 6 jam, atau waktu kustom.
Di tabel Dimensi teratas menurut beban database, klik kueri.
Di Contoh paket kueri, klik salah satu titik pada diagram untuk melihat paket kueri untuk kueri tersebut.
Memantau dan memecahkan masalah performa aplikasi menggunakan tag
Insight kueri lanjutan menyediakan pemantauan yang berfokus pada aplikasi dan menyederhanakan diagnosis performa aplikasi yang di-build dengan pemetaan relasional objek (ORM). Pemberian tag kueri membantu Anda menemukan masalah pada konstruksi tingkat yang lebih tinggi, seperti menggunakan logika bisnis, microservice, atau konstruksi lainnya. Anda dapat menggunakan tag di aplikasi untuk membantu Anda melakukan hal berikut:
- Pantau performa database.
- Gunakan Sqlcommenter untuk mengidentifikasi masalah performa yang disebabkan oleh kode aplikasi.
- Menganalisis beban database.
- Melihat pemuatan per tag.
Untuk mempelajari cara menggunakan tag di insight kueri, lihat Meningkatkan performa kueri menggunakan insight kueri.
Memecahkan masalah aplikasi di lapisan database
Insight kueri lanjutan memberikan tampilan rekaman aktivitas menyeluruh yang sesuai konteks untuk membantu Anda memahami masalah pada aplikasi di lapisan database untuk permintaan tertentu. Rekaman aktivitas aplikasi menyeluruh dalam konteks membantu Anda menentukan sumber kueri yang bermasalah, misalnya, berdasarkan model, tampilan, pengontrol, dan rute.
Saat Anda mengaktifkan OpenTelemetry, informasi span akan dikirim ke database bersama dengan informasi tag di dalam komentar SQL. Trace dari aplikasi ke Cloud Logging ditautkan dengan trace paket kueri database untuk mengidentifikasi sumber masalah.
Untuk melihat rekaman aktivitas dalam konteks, ikuti langkah-langkah berikut:
Di konsol Google Cloud , buka halaman Clusters.
Dari daftar cluster dan instance, klik instance.
Klik Insight kueri.
Pilih database dan pengguna.
Klik entri apa pun dalam tabel Dimensi teratas menurut beban database.
Di halaman Detail insight kueri, klik END to END.
Anda juga dapat menggunakan Cloud Trace untuk melihat pelacakan menyeluruh untuk setiap langkah dalam paket kueri. Untuk mengakses Cloud Trace, pilih Operasi > Trace.
Pertanyaan Umum (FAQ)
Bagian ini memberikan jawaban atas pertanyaan umum (FAQ) tentang fitur insight kueri lanjutan.
Mengapa string kueri dipangkas?
Secara default, insight kueri lanjutan menampilkan 10 KB dalam string kueri. Anda dapat meningkatkan tampilan hingga 100 KB.
Mengapa beban CPU saya berada di atas garis inti maksimum dalam diagram Beban Database?
Beban CPU memperhitungkan waktu berjalan dan waktu menunggu penjadwal Linux untuk menjadwalkan proses server yang sedang berjalan, sehingga beban CPU dapat melampaui garis inti maksimum.
Dapatkah saya menggunakan metrik insight kueri standar?
Ya. Insight kueri standar menghasilkan penghitung yang dapat diakses melalui Stackdriver. Metrik ini tersedia menggunakan Cloud Monitoring API dan UI Metrics Explorer. Untuk mengetahui informasi selengkapnya, lihat metrikGoogle Cloud .
Berapa panjang string kueri maksimum?
Untuk plugin insight kueri standar, panjang string kueri maksimum dibatasi hingga 4,5 KB karakter. Untuk insight kueri lanjutan, panjang string default adalah 10 KB dan panjang maksimum dibatasi hingga 100 KB.
Dapatkah saya menggunakan fitur insight kueri lanjutan dengan cluster sekunder?
Anda tidak dapat mengaktifkan advanced query insights di cluster dengan instance sekunder. Sebelum membuat instance sekunder di cluster, Anda harus menonaktifkan insight kueri lanjutan di semua instance dalam cluster.
Langkah berikutnya
- Ringkasan fitur insight kueri lanjutan untuk AlloyDB
- Metrik AlloyDB
- Blog panduan: Mengaktifkan pemberian tag kueri dengan Sqlcommenter