Questa pagina descrive come monitorare e risolvere i problemi relativi alle query attive nel tuo database. Il monitoraggio di queste query può aiutare a identificare le cause della latenza del 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 all'ora di inizio della transazione. Se è in esecuzione un gran numero di query, i risultati potrebbero essere limitati a un sottoinsieme delle query totali.
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 lungo termine nelle query attive, devi utilizzare la versione Cloud SQL Enterprise Plus per la tua istanza Cloud SQL per SQL Server.
Per ulteriori informazioni 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 delle attività dell'istanza:
Cloud SQL Viewer (
roles/cloudsql.viewer
) -
Visualizza il riepilogo dell'attività del database e le transazioni a lungo termine:
Database Insights Viewer (
roles/databaseinsights.viewer
) -
Per terminare una sessione o una transazione di lunga durata:
-
Cloud SQL Editor (
roles/cloudsql.editor
) -
Amministratore operazioni di Database Insights (
roles/databaseinsights.operationsAdmin
)
-
Cloud SQL Editor (
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per visualizzare le query attive. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per visualizzare le query attive sono necessarie le seguenti autorizzazioni:
-
Visualizza il riepilogo dell'attività del database e le transazioni di lunga durata:
-
databaseinsights.activeQueries.fetch
-
databaseinsights.activitySummary.fetch
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Abilita le query attive
Quando attivi Query Insights, attivi automaticamente le query attive. Per poter terminare una sessione o una transazione di lunga durata nelle query attive, devi utilizzare Query Insights per la versione Enterprise Plus di Cloud SQL.
Disattivare le query attive
Non puoi disattivare le query attive senza disattivare gli insight sulle query. Per disattivare le query attive e gli insight sulle query, consulta Disattivare gli insight sulle query.
Visualizza query attive
Per visualizzare le query attive:
Nella Google Cloud console, 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 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 sulla query visualizzate nella tabella Transazioni in esecuzione da più tempo:
- 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.
Visualizza le query attive normalizzate
Puoi visualizzare un elenco delle principali transazioni a tempo prolungato 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 valori diversi utilizzati nell'esempio seguente:
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.
Visualizzare le transazioni in esecuzione da più tempo principali
La tabella Transazioni in esecuzione da più tempo nella dashboard Approfondimenti sulle query contiene le seguenti colonne:
Nome colonna | Descrizione |
---|---|
ID sessione | Identificatore univoco della sessione. |
Query | Testo della query SQL. |
Stato sessione | Lo stato della sessione. |
Durata della query | Per quanto tempo è stata in esecuzione la query. |
Tipo di evento di attesa | Il tipo di evento di attesa, se la richiesta è bloccata per l'esecuzione della query. |
ID sessione di blocco | L'ID della sessione che blocca la sessione. |
Durata attesa transazione | La durata dell'attesa attuale, se la sessione è bloccata. |
Righe transazione modificate | Numero di righe restituite al client da questa query. |
% di completamento | Percentuale di lavoro completato, se la query segnala l'avanzamento. |
Database | Database in cui è in esecuzione la sessione. |
Nome applicazione | Nome dell'applicazione che ha avviato la sessione. |
Utente | Nome dell'utente connesso al database. |
Indirizzo client | L'indirizzo IP specifico del client che ha inviato una query. |
Azione | Contiene un link per terminare una sessione. |
Il display viene aggiornato automaticamente ogni 60 secondi.
Terminare una sessione
Per terminare una sessione o una transazione a esecuzione prolungata, devi utilizzare la versione Cloud SQL Enterprise Plus e attivare gli approfondimenti sulle query per la versione Cloud SQL Enterprise Plus.
Le operazioni a lunga esecuzione possono richiedere più tempo per essere completate.
Per terminare una query o una transazione:
- Nella tabella Transazione in esecuzione da più tempo, seleziona una query.
- Nella colonna Azione, fai clic su Termina sessione.
- Nella finestra Termina sessione, fai clic su Conferma.