Monitora le query attive

Questa pagina descrive come monitorare e risolvere i problemi relativi alle query attive nel database. Il monitoraggio di queste query può aiutare a identificare le cause della latenza del sistema e dell'utilizzo elevato della CPU.

Nel pannello Query Insights, puoi visualizzare un riepilogo delle transazioni attive e un elenco di transazioni con query e statistiche associate. Le transazioni vengono visualizzate in base all'ora di inizio della transazione. Se è in esecuzione un numero elevato di query, i risultati potrebbero essere limitati a un sottoinsieme del totale delle query.

Prima di iniziare

Per monitorare le query attive, puoi utilizzare la versione Cloud SQL Enterprise o Cloud SQL Enterprise Plus.

Per terminare una sessione o una transazione a esecuzione prolungata nelle query attive, devi utilizzare la versione Cloud SQL Enterprise Plus per l'istanza Cloud SQL per MySQL.

Per saperne di più sulle versioni di Cloud SQL, consulta Introduzione alle versioni di Cloud SQL.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per visualizzare le query attive, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto che ospita l'istanza Cloud SQL:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per visualizzare le query attive. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per visualizzare le query attive sono necessarie le seguenti autorizzazioni:

  • Visualizza il riepilogo dell'attività del database e le transazioni a esecuzione prolungata:
    • databaseinsights.activeQueries.fetch
    • databaseinsights.activitySummary.fetch

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Abilitare le query attive

Quando attivi Query Insights, le query attive vengono abilitate automaticamente. Per poter terminare una sessione o una transazione a esecuzione prolungata nelle query attive, devi utilizzare Query Insights per la versione Cloud SQL Enterprise Plus.

Disabilitare le query attive

Non puoi disattivare le query attive senza disattivare Query Insights. Per disattivare le query attive e Query Insights, consulta Disattivare Query Insights.

Visualizza query attive

Per visualizzare le query attive:

  1. Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.

  3. Per visualizzare la dashboard Approfondimenti sulle query, esegui una delle seguenti operazioni:

    • Seleziona la scheda Approfondimenti sulle query.
    • Fai clic su Accedi a Query Insight per informazioni più approfondite su query e prestazioni. Si apre la dashboard Approfondimenti sulle query. Nella parte superiore vengono visualizzati i dettagli dell'istanza.
  4. Fai clic sulla scheda Query attive.

    Da qui, puoi modificare le informazioni della query visualizzate nella tabella Transazioni con esecuzione più lunga:

    • Database: filtra il carico delle query su un database specifico o su tutti i database.
    • Utente: filtra il caricamento delle query da un account utente specifico.
    • Prospetto riepilogativo di tutte le query attive: fornisce una panoramica di tutte le query attive visualizzando le connessioni totali in base ai seguenti parametri:

      1. Distribuzione delle connessioni attive classificate in base allo stato della connessione.
      2. Distribuzione delle transazioni attive in base allo stato della transazione.
      3. Distribuzione delle durate delle query.
    • Transazioni in esecuzione da più tempo: fornisce una panoramica delle 50 query in esecuzione (nello stato attivo) in base al tempo di esecuzione decrescente. Puoi filtrare e ordinare le query attive nella tabella.

Visualizza query attive normalizzate

Puoi visualizzare un elenco delle transazioni a esecuzione prolungata principali con query attive normalizzate nella dashboard Query Insights. Una query attiva normalizzata rimuove i dati sensibili e restituisce un digest. Il digest è lo stesso per i diversi valori utilizzati nell'esempio seguente:

  • Query regolari

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • Query riepilogativa o normalizzata

    • select * from test_table where id=?;

Una query eseguita in sessioni diverse viene visualizzata come voci diverse nella dashboard.

Visualizzare le transazioni in esecuzione da più tempo

La tabella Transazioni in esecuzione da più tempo nella dashboard Approfondimenti sulle query contiene le seguenti colonne:

Nome colonna Descrizione
ID processo Identificatore univoco della connessione.
Query Testo della query SQL.
Stato transazione Stato di esecuzione attuale della transazione. I valori consentiti includono: RUNNING, LOCK WAIT, ROLLING BACK e COMMITTING.
Stato del thread Lo stato del thread (o stato della query) indica lo stato attuale del thread attivo.
Ora di inizio transazione Il timestamp in cui è iniziata l'esecuzione della transazione.
Durata della transazione Durata della transazione attiva attuale in secondi.
Durata attesa transazione Durata dell'attesa in secondi per la transazione attiva attuale.
Durata stato thread Tempo trascorso nella query.
Righe transazione bloccate Numero di righe bloccate dalla transazione attiva corrente.
Righe transazione modificate Numero di righe modificate dalla transazione attiva corrente.
Database Il nome del database su cui viene eseguita questa connessione.
Nome utente Nome dell'utente connesso al database.
Indirizzo client L'indirizzo IP del client da cui un utente si connette al database.
Azione Contiene un link per interrompere una transazione.

La visualizzazione viene aggiornata automaticamente ogni 60 secondi.

Terminare una connessione

Per terminare una connessione o una transazione a esecuzione prolungata nelle query attive, devi utilizzare la versione Cloud SQL Enterprise Plus e attivare Query Insights per la versione Cloud SQL Enterprise Plus.

Le operazioni a lunga esecuzione possono richiedere più tempo per essere terminate.

Per terminare una query o una transazione, completa i seguenti passaggi:

  1. Nella tabella Transazione in esecuzione da più tempo, seleziona una query.
  2. Nella colonna Azione, fai clic su Termina collegamento.
  3. Nella finestra Termina connessione, fai clic su Conferma.

Una richiesta di database viene restituita immediatamente mentre la terminazione avviene in background.

La pagina viene aggiornata dopo l'avvio della chiusura. Se la chiusura non va a buon fine, non viene restituito un messaggio di errore o una notifica. La query continua a essere visualizzata nell'elenco delle query attive. Se la chiusura va a buon fine, la query non viene più visualizzata nell'elenco. Se la chiusura richiede un rollback, la colonna Stato transazione mostra lo stato ROLLING BACK, il che significa che la chiusura è ancora in corso.

Passaggi successivi