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 di 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.
Puoi utilizzare l'assistenza di Gemini in Database per osservare e risolvere i problemi delle risorse Cloud SQL per MySQL. Per ulteriori informazioni, consulta Osservare e risolvere i problemi con l'assistenza di Gemini.Prima di iniziare
Per visualizzare le query attive, devi:
Crea un ruolo personalizzato e aggiungi le seguenti autorizzazioni. Poi, concedi il ruolo a ogni account utente che deve utilizzare gli approfondimenti delle query.
Tasks | Ruoli | Autorizzazioni |
---|---|---|
Visualizza il riepilogo dell'attività del database e le transazioni a lungo termine |
databaseinsights.viewer
|
databaseinsights.activeQueries.fetch databaseinsights.activitySummary.fetch
|
Visualizzare il riepilogo delle attività dell'istanza |
cloudsql.viewer
|
N/D |
Termina sessioni |
cloudsql.editor databaseinsights.operationsAdmin
|
N/D |
Abilita le query attive
Per attivare le query attive, segui questi 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 le query attive
Per visualizzare le query attive:
Aggiungi questo ruolo a 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 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 più lunghe:
- 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 il numero totale di connessioni in base ai seguenti parametri:
- Distribuzione delle connessioni attive classificate in base allo stato della connessione.
- Distribuzione delle transazioni attive in base allo stato.
- Distribuzione delle durate delle query.
Transazioni in esecuzione da più tempo: fornisce una panoramica delle 50 query in esecuzione più importanti (nello stato active) in base al tempo di esecuzione decrescente. Puoi filtrare e ordinare le query attive nella tabella.
Visualizza le query attive normalizzate
Puoi visualizzare un elenco delle principali transazioni a tempo 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 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 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 dell'inizio dell'esecuzione della transazione. |
Durata della transazione | La 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 | Nome del database su cui è in esecuzione 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 terminare una transazione. |
Il display viene aggiornato automaticamente ogni 60 secondi.
Terminare una connessione
Per terminare una query o una transazione, devi disporre del ruolo
databaseinsights.operationsAdmin
. Per ulteriori informazioni, consulta
Documentazione di riferimento dei ruoli di base e predefiniti IAM.
Le operazioni a lunga esecuzione potrebbero richiedere più tempo per essere completate.
Per terminare una query o una transazione:
- Nella tabella Transazioni in esecuzione da più tempo, seleziona una query.
- Nella colonna Azione, fai clic su Termina connessione.
- Nella finestra Termina connessione, fai clic su Conferma.
Una richiesta di database viene restituita immediatamente mentre l'interruzione avviene in background.