Trovare hotspot nel database

Questa pagina descrive come utilizzare la dashboard Approfondimenti sugli hotspot per rilevare gli hotspot nel database Spanner.

Panoramica di Hotspot Insights

Gli hotspot causano latenza nel database Spanner. La dashboard degli insight sugli hotspot ti consente di rilevare le suddivisioni interessate dagli hotspot. Per determinare se gli hotspot causano latenza e, in caso affermativo, come risolvere il problema:

  1. Apri la dashboard.
  2. Determina se gli hotspot richiedono il tuo intervento.
  3. Identifica le suddivisioni calde problematiche.

Gli approfondimenti sugli hotspot sono disponibili nelle configurazioni a regione singola, a più regioni e a due regioni.

Prezzi

Non sono previsti costi aggiuntivi per gli approfondimenti sugli hotspot.

Conservazione dei dati

La conservazione massima dei dati per il grafico e la tabella Approfondimenti sugli hotspot è di 6 ore.

Per la tabella delle suddivisioni più frequenti, i dati vengono estratti dalla tabellaSPANNER_SYS.SPLIT_STATS_TOP_MINUTE, che ha una conservazione massima di 6 ore. Per ulteriori informazioni, consulta Conservazione dei dati.

Ruoli obbligatori

Potresti aver bisogno di ruoli e autorizzazioni IAM diversi, a seconda che tu sia un utente IAM o un utente con controllo dell'accesso dell'accesso granulare.

Utente Identity and Access Management (IAM)

Per ottenere le autorizzazioni necessarie per visualizzare la pagina Approfondimenti sugli hotspot, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'istanza:

Per visualizzare la pagina Approfondimenti sugli hotspot sono necessarie le seguenti autorizzazioni nel ruolo Cloud Spanner Database Reader (roles/spanner.databaseReader):

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.select
  • spanner.sessions.create

Utente controllo dell'accesso granulare

Se sei un utente con controllo dell'accesso granulare, assicurati di:

  • Avere Cloud Spanner Viewer (roles/spanner.viewer)
  • Disporre di privilegi di controllo dell'accesso granulare e aver ricevuto il spanner_sys_reader ruolo di sistema o uno dei suoi ruoli di membro.
  • Seleziona spanner_sys_reader o un ruolo di membro come ruolo di sistema corrente nella pagina Panoramica del database.

Per ulteriori informazioni, consulta la panoramica del controllo dell'accesso dell'accesso granulare e i ruoli di sistema per controllo dell'accesso dell'accesso granulare.

Aprire la dashboard Approfondimenti sugli hotspot

La dashboard Approfondimenti sugli hotspot mostra la percentuale di utilizzo della CPU con suddivisioni massime. Questa metrica è una percentuale astratta compresa tra 0 e 100 che riflette la quantità di CPU utilizzata quando si accede alle righe all'interno di una suddivisione.

Per visualizzare la dashboard Approfondimenti sugli hotspot per un database, procedi nel seguente modo:

  1. Nella console Google Cloud , apri la pagina Spanner.

    Vai a Spanner

  2. Seleziona un'istanza dall'elenco.

  3. Nel menu di navigazione, fai clic sulla scheda Approfondimenti sugli hotspot.

  4. Nel campo database, seleziona un database dall'elenco. La dashboard mostra il punteggio di utilizzo della CPU con suddivisioni massime per il database.

Le aree della dashboard includono:

  • Grafico Punteggio utilizzo CPU con suddivisioni massime: un punteggio di utilizzo della CPU più alto (ad esempio vicino a 100) indica che la suddivisione è molto attiva ed è più probabile che causi un hotspot nel server rispetto a punteggi più bassi.
  • Campo del database: filtra le informazioni sulle suddivisioni calde in un database specifico o in tutti i database.
  • Filtro intervallo di tempo: filtra l'utilizzo della CPU con suddivisioni massime con incrementi di 1 minuto fino a un totale di 6 ore.
  • Tabella delle suddivisioni TopN: mostra l'elenco delle suddivisioni principali ordinate in base ai punteggi di utilizzo della CPU per suddivisione.

Dashboard degli hotspot

Determina se gli hotspot richiedono un intervento

Se nel grafico viene visualizzato un picco o un'elevazione che corrisponde alla latenza complessiva e a un punteggio di utilizzo della CPU con suddivisioni massime elevato e persistente, potrebbe essere necessario effettuare ulteriori accertamenti.

Esamina il grafico per rispondere a queste domande:

  • Quale database presenta il peggioramento della latenza? Seleziona diversi database dall'elenco Database per trovare quelli con la latenza più elevata. Per scoprire quale database ha il carico più elevato, puoi anche esaminare il grafico Latenza per i database nella console Google Cloud .

    Latenza

  • La latenza è elevata? La latenza è elevata rispetto a quella prevista per il carico di lavoro? Il grafico presenta picchi o diventa più elevato nel tempo? Se la latenza non è elevata, gli hotspot non sono un problema.

  • Il punteggio di utilizzo della CPU con suddivisioni massime è pari al 100%? Il grafico presenta picchi o diventa più elevato nel tempo? Se non visualizzi percentuali di utilizzo della CPU suddivise per picchi del 100% persistenti per almeno 10 minuti, gli hotspot potrebbero non essere un problema. Se la percentuale di utilizzo della CPU della suddivisione di picco è elevata per più di 10 minuti, potrebbe essere opportuno effettuare ulteriori accertamenti per verificare se il database ha livelli di latenza superiori a quelli previsti.

Se noti percentuali di utilizzo della CPU suddivise per picchi del 100% per più di 10 minuti, è possibile che gli hotspot richiedano il tuo intervento. A questo punto, puoi continuare il percorso di debugging identificando le suddivisioni calde nel tuo database.

Identificare le suddivisioni calde problematiche

Per identificare una suddivisione potenzialmente problematica con hotspot, consulta la sezione Suddivisioni TopN nella console Google Cloud , come mostrato di seguito.

Prime N suddivisioni

La tabella Suddivisioni TopN fornisce una panoramica delle suddivisioni che potrebbero essere calde durante la finestra temporale scelta, ordinate dall'ultima alla prima. Il numero di suddivisioni TopN è limitato a 100.

Per i grafici, Spanner recupera i dati dalla tabella delle statistiche sulle suddivisioni TopN con una granularità di un minuto. Il valore per ogni punto dati nei grafici rappresenta il valore medio in un intervallo di un minuto.

La tabella mostra le seguenti proprietà:

  • Fine intervallo: la data e l'ora in cui termina il picco di utilizzo elevato della CPU.
  • Inizio suddivisione: la chiave iniziale dell'intervallo di righe nella suddivisione. Se l'inizio della suddivisione è <begin>, indica l'inizio dell'intervallo di chiavi del database.
  • Limite suddivisione: la chiave del limite dell'intervallo di righe nella suddivisione. Se la chiave del limite è <end>, indica la fine dell'intervallo di chiavi del database.
  • Punteggio di utilizzo CPU con suddivisioni: un punteggio astratto compreso tra 0 e 100 che riflette la quantità di CPU utilizzata dagli accessi alle righe all'interno della suddivisione su un singolo server. Il punteggio di utilizzo della CPU consente di valutare se esistono hotspot.
  • Tabelle interessate: le tabelle le cui righe potrebbero essere nella suddivisione.

Passaggi successivi