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 lunga esecuzione nelle query attive, devi utilizzare la versione Cloud SQL Enterprise Plus per l'istanza Cloud SQL per PostgreSQL.
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:
-
Visualizza il riepilogo dell'attività dell'istanza:
Visualizzatore Cloud SQL (
roles/cloudsql.viewer
) -
Visualizza il riepilogo dell'attività del database e le transazioni a esecuzione prolungata:
Database Insights Viewer (
roles/databaseinsights.viewer
) -
Termina una sessione o una transazione a lunga esecuzione:
-
Cloud SQL Editor (
roles/cloudsql.editor
) -
Database Insights Operations Admin (
roles/databaseinsights.operationsAdmin
)
-
Cloud SQL Editor (
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
Per attivare le query attive per un'istanza Cloud SQL Enterprise, procedi nel seguente modo:
-
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.
- Nella sezione Personalizza la tua istanza, espandi Approfondimenti sulle query.
- Assicurati che l'opzione Abilita Query Insights sia attivata.
- Seleziona Analisi query attiva.
- Fai clic su Salva.
Per attivare le query attive per un'istanza della versione Cloud SQL Enterprise Plus:
-
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.
- Nella sezione Personalizza la tua istanza, espandi Approfondimenti sulle query.
- Assicurati che l'opzione Abilita Query Insights sia attivata.
- Seleziona Abilita le funzionalità di Enterprise Plus.
- Seleziona Analisi query attiva.
- Fai clic su Salva.
Per poter terminare una sessione o una transazione a lunga esecuzione nelle query attive, devi utilizzare Query Insights per Cloud SQL Enterprise Plus.
Disabilitare le query attive
Per disattivare le query attive su un'istanza Cloud SQL Enterprise o Cloud SQL Enterprise Plus, procedi nel seguente modo:
-
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.
- Nella sezione Personalizza la tua istanza, espandi Approfondimenti sulle query.
- Deseleziona la casella di controllo Analisi query attiva.
- Fai clic su Salva.
Visualizza query attive
Per visualizzare 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, 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.
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:
- Distribuzione delle connessioni attive classificate in base allo stato della connessione.
- Distribuzione delle transazioni attive in base allo stato della transazione.
- Distribuzione delle durate delle query.
- Transazioni in esecuzione da più tempo: fornisce una panoramica delle 50 query in esecuzione (con stato attivo e inattivo in 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 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 o 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 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 | Il nome del database su cui viene eseguita questa connessione. |
Nome applicazione | Il nome dell'applicazione su cui viene eseguita 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 interrompere una transazione. |
La visualizzazione viene aggiornata automaticamente ogni 60 secondi.
Terminare un processo
Per terminare un processo o una transazione a esecuzione prolungata nelle query attive, devi utilizzare la versione Cloud SQL Enterprise Plus e abilitare sia l'analisi delle query attive sia 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:
- Nella tabella Transazione in esecuzione da più tempo, seleziona una query.
- Nella colonna Azione, fai clic su Termina collegamento.
- Nella finestra Termina connessione, fai clic su Conferma.
Se il sistema termina correttamente la query o la transazione, viene visualizzato un messaggio di operazione riuscita. Il sistema esegue anche un rollback, se necessario.