Migliorare le prestazioni delle query utilizzando Query Insights avanzato per AlloyDB

Questa pagina descrive come utilizzare Query Insights avanzato per rilevare e analizzare i problemi di prestazioni delle query quasi in tempo reale sia per le istanze del pool principale sia per quelle del pool di lettura. Per una panoramica di Query Insights avanzato, consulta la panoramica di Query Insights avanzato.

Per scoprire come utilizzare Query Insights standard, consulta Migliorare le prestazioni delle query utilizzando Query Insights.

Puoi utilizzare l'assistenza di Gemini in Databases per monitorare e risolvere i problemi delle tue risorse AlloyDB. Per ulteriori informazioni, consulta Monitorare e risolvere i problemi con l'assistenza di Gemini.

Prima di iniziare

Per accedere alla dashboard Approfondimenti sulle query, abilita l'accesso ad AlloyDB per PostgreSQL nel tuo progetto Google Cloud.

Ruoli obbligatori

Per utilizzare Query Insights avanzato, devi disporre delle autorizzazioni per eseguire le seguenti operazioni:

  • Per accedere a Query Insights avanzato, devi disporre delle autorizzazioni per accedere alla dashboard Query Insights di AlloyDB.
  • Per modificare le impostazioni di Query Insights avanzato, devi disporre delle autorizzazioni per aggiornare le istanze AlloyDB.

Per ottenere queste autorizzazioni, chiedi all'amministratore di concederti uno dei seguenti ruoli:

  • Visualizzatore di base (roles/viewer)
  • Visualizzatore di Database Insights (roles/databaseinsights.viewer)

Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.

Attivare Query Insights avanzato

Per attivare la configurazione di Query Insights avanzata per un'istanza AlloyDB, segui questi passaggi:

Console

  1. Configura Gemini in Databases.

  2. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  3. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  4. Fai clic su Approfondimenti sulle query.

  5. Scegli il database e l'utente.

  6. Fai clic su Edit Settings (Modifica impostazioni).

  7. Attiva Query Insights avanzato.

  8. Se proteggi il tuo progetto Google Cloud con Controlli di servizio VPC, aggiungi l'API databaseinsights.googleapis.com al perimetro di servizio come servizio limitato.

  9. Salva le modifiche. L'istanza viene riavviata.

gcloud

gcloud alpha alloydb instances update INSTANCE \
--cluster=CLUSTER \
--project=PROJECT \
--region=REGION \
--observability-config-enabled

Sostituisci quanto segue:

  • INSTANCE: l'ID dell'istanza da aggiornare.
  • CLUSTER: l'ID del cluster dell'istanza.
  • PROJECT: l'ID del progetto del cluster.
  • REGION: la regione del cluster, ad esempio us-central1.

Il flag --observability-config-enabled consente di raccogliere e analizzare i dati su un'istanza AlloyDB per monitorarne le prestazioni e l'integrità. Se vuoi disattivare Query Insights avanzato, utilizza --no-observability-config-enabled.

Terraform

Per utilizzare Terraform per attivare Query Insights avanzato nell'istanza AlloyDB, imposta il campo enabled su true nel blocco observability_config.

Ecco un esempio:

  observability_config {
    enabled = true
  ...
  }
  

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

REST v1

Questo esempio attiva Query Insights avanzato nell'istanza AlloyDB. Per un elenco completo dei parametri per questa chiamata, consulta Metodo: projects.locations.clusters.instances.patch. Per informazioni sulle impostazioni di Query Insights avanzato, vedi Modificare le impostazioni di Query Insights avanzato.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • CLUSTER_ID: l'ID del cluster che crei. Deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.
  • PROJECT_ID: l'ID del progetto dove vuoi posizionare il cluster.
  • LOCATION_ID: l'ID della regione del cluster.
  • INSTANCE_ID: il nome dell'istanza principale che vuoi creare.

Per attivare la configurazione dell'istanza, utilizza la seguente richiesta PATCH:

PATCH https://alloydb.googleapis.com/v1beta/{instance.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=observabilityConfig.enabled}

Il parametro di query updateMask=observabilityConfig.enabled indica all'API di aggiornare il campo enabled all'interno del blocco observabilityConfig.

Il corpo JSON della richiesta è il seguente:

{
 "observabilityConfig": {
   "enabled" : true,
 }
}

Dopo aver abilitato Query Insights avanzato, puoi modificare le relative impostazioni.

Modificare le impostazioni di Query Insights avanzato

Per modificare la configurazione di Query Insights avanzata per un'istanza AlloyDB, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Fai clic su Modifica impostazioni e seleziona o deseleziona una delle seguenti impostazioni:

    • Attiva l'analisi degli eventi di attesa. L'analisi degli eventi di attesa può aiutarti a identificare e risolvere i problemi di prestazioni nel tuo database. Un evento di attesa è un componente che causa un ritardo nell'elaborazione di un'operazione correlata alla query.
    • Archivia commenti delle query. Scopri di più sul contesto della query visualizzando i commenti associati a qualsiasi query che esamini, che rientrano nella lunghezza della query. Non è necessaria memoria aggiuntiva. Se i tuoi commenti contengono informazioni sensibili, presta attenzione all'accesso da parte degli utenti.
    • Archivia i tag delle applicazioni. Consente di scoprire quali API e route modello-visualizzazione-controller effettuano le richieste e raggruppa questi dati per eseguire metriche su di essi.
    • Personalizza la lunghezza delle query. Puoi modificare il limite predefinito per la lunghezza delle query, da 256 byte fino a 100 KB. Se le query hanno una lunghezza maggiore, sarà necessaria più memoria. La modifica della lunghezza delle query richiede il riavvio dell'istanza.
    • Attiva i piani di query e configura la frequenza di campionamento. I piani di query mostrano le operazioni utilizzate per completare un esempio di query. La frequenza di campionamento determina quanti esempi di query possono essere acquisiti al minuto nei tuoi database. Frequenze più elevate richiedono più memoria.
    • Attiva i consigli. Mostrare suggerimenti per la creazione di indici nella pagina Query Insights di un cluster.
  5. Salva le modifiche.

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

Sostituisci quanto segue:

  • INSTANCE: l'ID dell'istanza da aggiornare.
  • CLUSTER: l'ID del cluster dell'istanza.
  • PROJECT: l'ID del progetto del cluster.
  • REGION: la regione del cluster, ad esempio us-central1.
  • QUERY_LENGTH: la lunghezza della query che va da 1024 a 100000 byte. La lunghezza predefinita delle query è 10240 byte. Le query più lunghe sono più utili per le query di analisi, ma richiedono anche più memoria. Per modificare la lunghezza delle query, devi riavviare l'istanza. Puoi comunque aggiungere tag alle query che superano il limite di lunghezza.
  • QUERY_PLANS: il numero di piani di query da configurare ogni minuto. Per impostazione predefinita, vengono acquisiti un massimo di 20 campioni di piano di query eseguiti al minuto su tutti i database dell'istanza. Modifica questo valore scegliendo un numero compreso tra 1 e 20. Per disattivare il campionamento, inserisci 0. È probabile che l'aumento della frequenza di campionamento fornisca più punti dati, ma potrebbe influire negativamente sul rendimento.

Se necessario, utilizza i seguenti flag di osservabilità facoltativi:

  • --observability-config-track-active-queries: abilita il monitoraggio delle query attive. Se vuoi disattivare la funzionalità, usa --no-observability-config-track-active-queries.
  • --observability-config-record-application-tags: memorizza i tag delle applicazioni che ti aiutano a determinare le API e i route modello-visualizzazione-controller (MVC) che effettuano richieste e raggruppano i dati su cui eseguire le metriche. Questa opzione richiede di commentare le query con un insieme specifico di tag. Se non vuoi memorizzare i tag di applicazione, utilizza --no-observability-config-record-application-tags.
  • --observability-config-preserve-comments: mantiene le annotazioni aggiunte al codice SQL per fornire informazioni sul codice senza influire sulla sua esecuzione. Se non vuoi conservare le annotazioni, utilizza --no-observability-config-preserve-comments.
  • --observability-config-track-wait-events: consente di attendere eventi di ogni tipo di evento di attesa. Se non vuoi monitorare gli eventi di attesa, utilizza --no-observability-config-track-wait-events.

Terraform

Per utilizzare Terraform per configurare Query Insights avanzato nell'istanza AlloyDB, utilizza la risorsa google_alloydb_instance.

Ecco un esempio:

  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
  }
  

Sostituisci quanto segue:

  • ENABLED_VALUE: stato della funzionalità di osservabilità per un'istanza. Imposta su true quando modifichi le impostazioni e specifica altri flag in base alle esigenze.
  • PRESERVE_COMMENTS_VALUE: conserva i commenti nella stringa di query. Il valore predefinito è false.
  • TRACK_WAIT_EVENTS_VALUE: registra gli eventi di attesa durante l'esecuzione di query per un'istanza. Il valore predefinito è true.
  • MAX_QUERY_STRING_LENGTH_VALUE: lunghezza della stringa di query. Il valore predefinito è 10240. È valido qualsiasi numero intero compreso tra 1024 e 100000.
  • RECORD_APPLICATION_TAGS_VALUE: registra i tag di applicazione per un'istanza. Il valore predefinito è true.
  • QUERY_PLANS_PER_MINUTE_VALUE: il numero di piani di esecuzione delle query acquisiti da Approfondimenti al minuto per tutte le query combinate. Il valore predefinito è 20. È valido qualsiasi numero intero compreso tra 0 e 20.
  • TRACK_ACTIVE_QUERIES_VALUE: monitora le query in esecuzione. Il valore predefinito è false.

    Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

REST v1

Questo esempio configura le impostazioni di Query Insights avanzate nell'istanza AlloyDB. Per un elenco completo dei parametri per questa chiamata, consulta Metodo: projects.locations.clusters.instances.patch.

Per configurare le impostazioni avanzate di Query Insights, imposta il campo enabled su true e modifica gli altri campi facoltativi in base alle esigenze. Per un elenco completo dei campi per questa chiamata, consulta ObservabilityInstanceConfig.

Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:

  • CLUSTER_ID: l'ID del cluster che crei. Deve iniziare con una lettera minuscola e può contenere lettere minuscole, numeri e trattini.
  • PROJECT_ID: l'ID del progetto dove vuoi posizionare il cluster.
  • LOCATION_ID: l'ID della regione del cluster.
  • INSTANCE_ID: il nome dell'istanza principale che vuoi creare.

Per modificare la configurazione dell'istanza, utilizza la seguente richiesta PATCH:

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}

Il corpo JSON della richiesta che configura tutti i campi di Approfondimenti sulle query avanzati è il seguente:

{
 "observabilityConfig": {
   "enabled" : true,
   "preserveComments": true,
   "trackWaitEvents": true,
   "maxQueryStringLength": 5000,
   "recordApplicationTags": true,
   "queryPlansPerMinute": 100,
   "trackActiveQueries": true,
 }
}

Rileva e diagnostica i problemi di prestazioni delle query

Puoi utilizzare Query Insights avanzato per rilevare e diagnosticare i problemi di prestazioni. La dashboard Query Insights avanzata mostra il carico del database, che è una misura del lavoro (in secondi CPU) nel tempo per le query eseguite nel database selezionato. Ogni query in esecuzione utilizza o aspetta risorse. Il carico del database è il rapporto tra il tempo impiegato da tutte le query completate in un determinato intervallo di tempo, in tempo reale.

Visualizza la misura del lavoro svolto dalle query eseguite

Il grafico del carico del database fornisce la misura del lavoro svolto (in secondi CPU) da tutte le query eseguite nel database, suddivise in base alla dimensione selezionata. Il carico del database è suddiviso nei dati di distribuzione selezionati dall'elenco a discesa del grafico.

Puoi suddividere il carico del database in base a una delle seguenti dimensioni:

  • Query
  • Tipo di evento di attesa
  • Evento di attesa
  • Database
  • Utente

Per visualizzare il lavoro completato dalle query eseguite nel database, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Scegli il tempo di esecuzione totale per cui vuoi visualizzare i dati, ad esempio 1 o 6 ore o un orario personalizzato.

  6. Nel menu a discesa Carico del database per ora di esecuzione, scegli la dimensione da esaminare. A seconda della dimensione scelta, il grafico mostra il contributo della dimensione scelta al carico complessivo del database. Ad esempio, se selezioni la dimensione Eventi di attesa dal menu a discesa del grafico del carico del database, nel grafico viene visualizzata la suddivisione di tutti gli eventi di attesa che si sono verificati durante l'intervallo di tempo selezionato per il database e l'utente selezionati.

    Il grafico del carico del database mostra i dati per tutti e nove i tipi di eventi di attesa e per gli eventi di attesa supportati in PostgreSQL. A seconda del numero di eventi e tipi di attesa, vengono visualizzati i dieci eventi e tipi di attesa che contribuiscono maggiormente. Se sono presenti più di dieci eventi di attesa, vengono visualizzati i primi nove e gli altri vengono raggruppati nella categoria Altri. Questo approccio si applica anche ad altre dimensioni, come Query, Database e Utenti.

Visualizza i principali fattori che contribuiscono al carico del database

Utilizzando la tabella Dimensioni principali per carico del database, puoi visualizzare i principali contribuitori al carico del database per l'intervallo di tempo e la dimensione selezionati nel grafico Carico del database. A seconda della dimensione scelta nella tabella Principali dimensioni per carico del database, puoi trovare i valori principali per la finestra temporale selezionata.

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Scegli il tempo di esecuzione totale per cui vuoi visualizzare i dati, ad esempio 1 o 6 ore o un orario personalizzato.

  6. Nella tabella Dimensioni principali per carico del database, puoi fare clic su uno dei seguenti elementi:

    Dimensione Descrizione
    Query La tabella mostra le query principali normalizzate in base al tempo di esecuzione totale. Per ogni query, i dati mostrati nelle colonne sono elencati come segue:
    • Media tempo di esecuzione (ms). Tempo medio di esecuzione della query.
    • Tempo totale di esecuzione (ms). Il tempo di esecuzione totale impiegato dalla query specifica.
    • Righe restituite. Il numero medio di righe recuperate per la query.
    • Voci chiamate. Il numero di volte in cui la query è stata chiamata dall'applicazione.
    • %di carico per dimensione del grafico. Il grafico a pillole mostra la distribuzione della dimensione del grafico per la query specifica.
    Tipi di eventi di attesa La tabella mostra l'elenco dei principali tipi di eventi di attesa che si sono verificati durante l'intervallo di tempo selezionato.
    • Tempo medio di attesa (ms). Tempo medio impiegato dalle query nel tipo di evento di attesa specifico.
    • Tempo totale di attesa (ms). Il tempo di esecuzione totale impiegato dalle query per il tipo di evento di attesa specifico.
    • Conteggio dei tipi di eventi di attesa. Il numero di volte in cui si è verificato un determinato tipo di evento di attesa nell'intervallo di tempo scelto.
    • %di carico per dimensione del grafico. Il grafico a pillole mostra la distribuzione della dimensione del grafico selezionata nel menu a discesa del grafico del carico del database in base al tipo di evento di attesa specifico.
    Eventi di attesa La tabella mostra l'elenco dei principali eventi di attesa che si sono verificati durante l'intervallo di tempo selezionato.
    • Tempo medio di attesa (ms). Tempo medio impiegato dalle query nell'evento di attesa specifico.
    • Tempo totale di attesa (ms). Il tempo di esecuzione totale impiegato dalle query nell'evento di attesa specifico.
    • Conteggio eventi di attesa. Il numero di volte in cui si è verificato un determinato evento di attesa nell'intervallo di tempo scelto.
    • %di carico per dimensione del grafico. Il grafico a pillole mostra la distribuzione della dimensione del grafico selezionata nel menu a discesa del grafico del carico del database nell'evento di attesa specifico.
    Database La tabella mostra l'elenco dei principali database che hanno contribuito al caricamento durante l'intervallo di tempo scelto in tutte le query eseguite.
    • Tempo medio trascorso nel database (ms). Tempo medio impiegato dalle query nel database specifico.
    • Tempo totale trascorso nel database (ms). Il tempo di esecuzione totale delle query nel database specifico.
    • %di carico per dimensione del grafico. Il grafico a pillole mostra come la dimensione del grafico selezionata nel menu a discesa del grafico di caricamento del database è distribuita nel database specifico.
    Utente La tabella mostra l'elenco degli utenti principali per l'intervallo di tempo scelto in tutte le query eseguite.
    • Tempo medio trascorso nell'utente (ms). Tempo medio impiegato dalle query per l'utente specifico.
    • Tempo totale trascorso nell'utente (ms). Il tempo di esecuzione totale delle query nell'utente specifico.
    • %di carico per dimensione del grafico. Il grafico a pillole mostra come la dimensione del grafico selezionata nel menu a discesa del grafico del carico del database sia distribuita tra l'utente specifico.

Visualizza il tempo di esecuzione della query

Query Insights avanzato mostra le dieci query principali che contribuiscono al carico del database nella tabella Dimensioni principali per carico del database. La query principale è quella che ha contribuito maggiormente al carico del database per l'intervallo di tempo selezionato. Le query successive rappresentano una percentuale del tempo di esecuzione più lungo.

Per scoprire in che modo il tempo di esecuzione di un parametro in Dimensioni principali per carico del database è influenzato da valori diversi della dimensione del grafico selezionata (query, tipi di eventi di attesa, eventi di attesa, database e utenti), segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Visualizza % di carico per dimensione del grafico nella tabella Dimensioni massime per carico del database per scoprire in che modo un parametro nella tabella è influenzato dai parametri nel grafico Carico del database.

    Ad esempio, quando selezioni Tutte le query nel grafico Carico del database e fai clic sulla scheda Query nella tabella Principali dimensioni per carico del database, % di carico per query mostra un elenco delle query che hanno contribuito maggiormente al carico del database nel database selezionato durante il periodo di tempo specificato.

Visualizzare i dettagli relativi al tempo di esecuzione della query

Puoi visualizzare i dettagli sul tempo di esecuzione della query in Ulteriori dettagli, tra cui le dimensioni selezionate nel grafico e nella tabella del carico del database, la definizione di ogni evento di attesa e i dati incapsulati nella categoria Altri.

Ulteriori dettagli mostra anche i dettagli di informazioni complesse che non vengono visualizzate altrove nella schermata dei dettagli della query. Queste informazioni includono la definizione di ciascun evento di attesa.

Per visualizzare i dettagli relativi al tempo di esecuzione della query:

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Nella tabella Dimensioni principali per carico del database, fai clic su Più dettagli per una query.

Query Insights avanzato mostra le query normalizzate ($1, $2 e così via) per sostituire i valori costanti letterali. Ad esempio:

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

Il valore costante viene ignorato in modo che gli Approfondimenti sulle query avanzati possano aggregare query simili e rimuovere eventuali informazioni che consentono l'identificazione personale (PII) che la costante potrebbe mostrare.

Determinare il carico del database per le query normalizzate

Per visualizzare una misura del tempo e dell'utilizzo delle risorse per l'esecuzione delle query (in secondi CPU) che la query normalizzata selezionata ha eseguito nel database selezionato nel tempo:

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Fai clic su Query nel grafico Carico del database. Per calcolare il carico del database, il grafico Carico del database utilizza il tempo impiegato dalle query normalizzate completate nel limite di un minuto rispetto al tempo reale trascorso.

Nella parte superiore del grafico Carico del database vengono visualizzati i primi 10 KB di caratteri della query normalizzata, dove i literal vengono rimossi per motivi di aggregazione e informazioni che consentono l'identificazione personale (PII).

Per contribuire a determinare la distribuzione del tempo trascorso in ciascuno di questi stati, Query Insights avanzato distribuisce i carichi di query normalizzati in eventi di attesa e tipi di eventi di attesa.

Puoi studiare la latenza delle query utilizzando i grafici Latenza. La latenza è il tempo impiegato dalla query normalizzata per il completamento in tempo reale trascorso. La latenza delle query parallele viene misurata in tempo reale trascorso, anche se il carico del database può essere superiore per la query a causa dell'utilizzo di più core per eseguire parte della query.

Puoi filtrare per percentile per visualizzare il 50°, 95° o 99° percentile per rilevare le query che non rispettano il tempo di esecuzione previsto. Per analizzare la latenza storica per la query normalizzata, modifica l'intervallo di tempo.

Analizza le query normalizzate

I piani di query ti aiutano a comprendere e analizzare le query normalizzate fornendo una suddivisione delle diverse operazioni in un esempio di query.

Il piano di query di esempio fornisce una vista EXPLAIN ANALYZE per i campioni del piano di query correlati alla query normalizzata. Si tratta di piani di query eseguiti che forniscono un'analisi dettagliata del tempo attivo impiegato da ogni operazione nel piano di query.

Per visualizzare un piano di query di esempio:

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Scegli il tempo di esecuzione totale per cui vuoi visualizzare i dati, ad esempio 1 o 6 ore o un orario personalizzato.

  6. Nella tabella Dimensioni principali per carico del database, fai clic su una query.

  7. In Esempi di piano di query, fai clic su uno dei punti del grafico per visualizzare un piano di query per quella query.

Monitora e risolvi i problemi relativi alle prestazioni delle applicazioni utilizzando i tag

Query Insights avanzato fornisce il monitoraggio incentrato sulle applicazioni e semplifica la diagnosi delle prestazioni delle applicazioni create con la mappatura relazionale degli oggetti (ORM). Il tagging delle query ti aiuta a trovare problemi a livello di elementi di livello superiore, ad esempio l'utilizzo della logica di business, di un microservizio o di qualche altro elemento. Puoi utilizzare i tag nella tua applicazione per:

  • Monitora il rendimento del database.
  • Utilizza Sqlcommenter per identificare i problemi di prestazioni causati dal codice dell'applicazione.
  • Analizza il carico del database.
  • Visualizza il carico per tag.

Per scoprire come utilizzare i tag in Query Insights, consulta Migliorare le prestazioni delle query utilizzando Query Insights.

Risolvere i problemi delle applicazioni a livello di database

Query Insights avanzato fornisce una visualizzazione di traccia end-to-end contestuale per aiutarti a comprendere i problemi dell'applicazione a livello di livello del database per una richiesta specifica. Le tracce delle applicazioni end-to-end in contesto ti aiutano a determinare l'origine della query problematica, ad esempio in base a modello, visualizzazione, controller e percorso.

Quando attivi OpenTelemetry, le informazioni sugli span vengono inviate al database insieme alle informazioni sui tag all'interno dei commenti SQL. Le tracce dall'applicazione a Cloud Logging sono collegate alle tracce del piano di query del database per identificare l'origine del problema.

Per visualizzare una traccia in contesto:

  1. Nella console Google Cloud, vai alla pagina Cluster.

    Vai a Cluster

  2. Nell'elenco di cluster e istanze, fai clic su un'istanza.

  3. Fai clic su Approfondimenti sulle query.

  4. Scegli il database e l'utente.

  5. Fai clic su una voce qualsiasi nella tabella Dimensioni principali per carico del database.

  6. Nella pagina Dettagli degli approfondimenti sulle query, fai clic su END to END.

Puoi anche utilizzare Cloud Trace per visualizzare il monitoraggio end-to-end di ogni passaggio del piano di query. Per accedere a Cloud Trace, seleziona Operazioni > Trace.

Domande frequenti

Questa sezione fornisce risposte alle domande frequenti su Statistiche query avanzate.

Perché la stringa di query è troncata?

Per impostazione predefinita, Query Insights avanzato mostra 10 KB nelle stringhe di query. Puoi aumentare la visualizzazione fino a 100 KB.

Perché il carico della CPU è superiore alla linea del core massimo nel grafico Carico del database?

Il carico della CPU tiene conto sia del tempo di esecuzione sia del tempo di attesa per l'organizzazione da parte dello scheduler di Linux del processo del server in esecuzione, pertanto il carico della CPU può superare la riga del core massimo.

Posso utilizzare le metriche standard di Query Insights?

Sì. Standard Query Insights genera contatori a cui è possibile accedere tramite Stackdriver. Queste metriche sono disponibili utilizzando l'API Cloud Monitoring e l'interfaccia utente di Metrics Explorer. Per ulteriori informazioni, consulta le metricheGoogle Cloud .

Qual è la lunghezza massima della stringa di query?

Per il plug-in di Query Insights standard, la lunghezza massima della stringa di query è limitata a 4,5 KB di caratteri. Per gli Approfondimenti sulle query avanzati, la lunghezza predefinita della stringa è di 10 KB e la lunghezza massima è limitata a 100 KB.

Posso utilizzare Query Insights avanzato con i cluster secondari?

Non puoi attivare Query Insights avanzato sui cluster con istanze secondarie. Prima di creare un'istanza secondaria in un cluster, devi disattivare Query Insights avanzato su tutte le istanze del cluster.

Passaggi successivi