Monitorare le query attive

Questa pagina descrive come monitorare e risolvere i problemi relativi alle query in esecuzione nell'istanza Spanner. Le query attive sono query a esecuzione prolungata che potrebbero influire sul rendimento della tua istanza. Il monitoraggio di queste query può aiutarti a identificare le cause della latenza dell'istanza e dell'utilizzo elevato della CPU.

Utilizzando la console Google Cloud , puoi visualizzare le query attive nella pagina Query Insights di Spanner. Queste query sono ordinate in base all'ora di inizio della query. Se sono presenti molte query attive, i risultati potrebbero essere limitati a un sottoinsieme delle query totali a causa dei vincoli di memoria imposti da Spanner alla raccolta dei dati.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per visualizzare le query attive, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'istanza:

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

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Visualizza query attive

Per visualizzare le query attive per ogni database:

  1. Nella console Google Cloud , vai alla pagina Istanze di Spanner.

    Vai alla pagina Istanze Spanner

  2. Fai clic sull'istanza che contiene le query che vuoi monitorare.

  3. Nel menu di navigazione, fai clic su Approfondimenti sulle query.

  4. Utilizza il menu Database per specificare il database che vuoi monitorare.

  5. Fai clic sulla scheda Query attive. La scheda contiene un riepilogo delle query attive, nonché una tabella delle 50 query attive con la durata più lunga.

Visualizzare le query in esecuzione da più tempo

La seguente tabella descrive le colonne predefinite nella tabella Query con esecuzione più lunga nella scheda Query attive:

Nome colonna Descrizione
ID query L'identificatore unico della query.
Query Il testo della query SQL.
Impronta Hash del tag della richiesta o, se non è presente un tag, hash del testo della query SQL.
Ora di inizio Il timestamp dell'inizio della query.
Durata query La durata di esecuzione della query attiva.
Azione Contiene un link per terminare la query.

Quando l'opzione di attivazione/disattivazione Aggiornamento automatico è attiva, il display si aggiorna ogni 60 secondi.

Puoi utilizzare il pulsante Opzioni di visualizzazione delle colonne per selezionare una delle seguenti colonne facoltative da visualizzare nella tabella Query con esecuzione più lunga:

Nome colonna Descrizione
Indirizzo IP client L'indirizzo IP del client che ha richiesto la query. A volte, l'indirizzo IP client potrebbe essere oscurato. L'indirizzo IP mostrato qui è coerente con i log di controllo e segue le stesse linee guida per la redazione. Per saperne di più, vedi Indirizzo IP del chiamante nei log di controllo. Spanner consiglia di richiedere l'indirizzo IP client solo quando è necessario, poiché le richieste di indirizzi IP client potrebbero comportare una latenza aggiuntiva.
Regione server La regione in cui il server radice Spanner elabora la query. Per maggiori informazioni, vedi Ciclo di vita di una query.
Tipo di transazione Il tipo di transazione della query. I valori possibili sono READ_ONLY, READ_WRITE e NONE.
Intestazione client API L'intestazione api_client del client.
Priorità La priorità della query. Per visualizzare le priorità disponibili, consulta RequestOptions.
Intestazione user agent L'intestazione user_agent che Spanner riceve dal client.

Terminare una query

Puoi terminare una query in esecuzione nella tua istanza. L'interruzione di una query può contribuire a liberare risorse e ridurre il carico sull'istanza. L'interruzione di una query è un'operazione "best effort".

La pagina della console Google Cloud viene aggiornata dopo l'avvio della chiusura. Se l'interruzione va a buon fine, la query viene rimossa dalla tabella. Se il termine non va a buon fine, l'operazione viene eseguita in background e la query continua a essere visualizzata nella tabella Query in esecuzione da più tempo.

Spanner potrebbe non annullare una query quando i server sono occupati. Puoi provare a terminare di nuovo una query per annullarla.

Per ottenere l'autorizzazione necessaria per terminare una query, chiedi all'amministratore di concederti il ruolo IAM Lettore database Cloud Spanner (spanner.databaseReader) nell'istanza.

Questo ruolo predefinito contiene l'autorizzazione spanner.sessions.delete necessaria per terminare una query.

Per terminare una query:

  1. Seleziona la query che vuoi terminare dalla tabella Query con esecuzione più lunga.
  2. Nella colonna Azioni, fai clic su Termina.
  3. Nella finestra Termina query, fai clic su Conferma.

Per terminare più query:

  1. Seleziona le query da terminare dalla tabella Query più lunghe.
  2. Fai clic su Termina query selezionate.
  3. Nella finestra Termina le seguenti query, fai clic su Conferma.

Passaggi successivi