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 di sistema e dell'utilizzo elevato della CPU.
Nella dashboard 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 alla relativa ora di inizio. Se il numero di query in esecuzione è elevato, i risultati potrebbero essere limitati a un sottoinsieme delle query totali.
Prima di iniziare
Per visualizzare le query attive, devi:
- Configura Gemini in Databases.
- Crea un ruolo personalizzato e aggiungi le seguenti autorizzazioni:
Tasks Ruoli Autorizzazioni Visualizza i suggerimenti databaseinsights.viewer
databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
Interrompere i consigli databaseinsights.operationsAdmin
N/D
Attiva le query attive
Per abilitare le query attive, completa i seguenti passaggi:
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Nel riquadro Configurazione, fai clic su Modifica configurazione.
- Espandi il riquadro Query Insights.
- Se la casella di controllo Attiva Query Insights non è selezionata, selezionala. Viene visualizzata la casella di controllo Analisi query attive.
- Se questa casella di controllo non è selezionata, selezionala.
- Fai clic su Salva.
Visualizza query attive
Per visualizzare le query attive:
Aggiungi questo ruolo per ogni utente che visualizza le query attive.
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Per visualizzare la dashboard Approfondimenti sulle query:
- Seleziona la scheda Approfondimenti sulle query.
- Fai clic su Vai a Query Insights per informazioni più dettagliate su query e prestazioni. Si apre la dashboard Approfondimenti sulle query. I dettagli dell'istanza sono mostrati in alto.
Fai clic sulla scheda Visualizzazione query attiva.
Da qui, puoi modificare le informazioni sulla query visualizzate nella tabella Transazioni in esecuzione più lunga:
- Database: filtra il carico delle query su un database specifico o su tutti i database.
- Utente: filtra il carico delle query da un account utente specifico.
- Scorecard di riepilogo di tutte le query attive: fornisce una panoramica di tutte le query attive mostrando le connessioni totali in base ai seguenti parametri:
- Distribuzione di connessioni attive classificate per stato di connessione.
- Distribuzione delle transazioni attive in base allo stato della transazione.
- Distribuzione delle durate delle query.
- Transazioni in esecuzione più lunga: fornisce una panoramica delle 50 query principali in esecuzione (nello stato attiva e inattiva nella transazione) 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 principali transazioni a tempo di esecuzione lungo con query attive normalizzate nella dashboard Approfondimenti sulle query. Una query attiva normalizzata rimuove i dati sensibili e restituisce un digest. Il digest è lo stesso per i diversi valori utilizzati nel seguente esempio:
Query regolari
select * from test_table where id=1;
select * from test_table_where id=2;
Digest o query normalizzata
select * from test_table where id=?;
Una query eseguita in sessioni diverse viene visualizzata come voci diverse nella dashboard.
Visualizza le principali transazioni in esecuzione da più tempo
La tabella Transazioni in esecuzione più lunga nella dashboard Approfondimenti sulle query contiene le seguenti colonne:
Nome colonna | Descrizione |
---|---|
ID elenco di processi | Identificatore univoco della connessione o dell'ID thread. |
Query | Testo della query SQL. |
Stato | Stato della connessione. |
Durata della sessione | Durata dell'ultima sessione in esecuzione. |
Durata della transazione | Durata della transazione attiva in esecuzione. |
Durata della query | Durata dell'ultima sessione in esecuzione nella transazione. |
Tipo di evento di attesa | Tipo dell'evento di attesa in corso. |
Evento di attesa | Evento di attesa in corso. |
Database | Nome del database su cui è in esecuzione questa connessione. |
Nome applicazione | Nome dell'applicazione su cui è in esecuzione questa connessione. |
Nome utente | Nome dell'utente connesso al database. |
Indirizzo client | Indirizzo IP specifico del client che ha inviato una query. |
Azione | Contiene un link per terminare una transazione. |
Il display viene aggiornato automaticamente ogni 60 secondi.
Terminare un processo
Per terminare una query o una transazione, devi disporre del ruolo databaseinsights.operationsAdmin
. Per ulteriori informazioni, consulta la documentazione di riferimento sui ruoli IAM di base e predefiniti.
Per terminare una query o una transazione:
- Nella tabella Transazione in esecuzione più lunga, seleziona una query.
- Nella colonna Azione, fai clic su Termina connessione.
- Nella finestra Termina connessione, fai clic su Conferma.
Se il sistema risolve correttamente la query o la transazione, viene visualizzato un messaggio di operazione riuscita. Se necessario, il sistema esegue anche un rollback.