Questo documento descrive come utilizzare la dashboard Approfondimenti sugli hotspot per rilevare gli hotspot nel database Spanner.
Panoramica degli insight hotspot
Gli hotspot causano latenza nel database Spanner. La dashboard degli insight sugli hotspot ti aiuta a rilevare le suddivisioni interessate dagli hotspot. Per determinare se gli hotspot causano latenza e, in caso affermativo, come risolvere il problema, segui questi passaggi:
- Apri la dashboard.
- Determina se gli hotspot richiedono il tuo intervento.
- Identifica le divisioni hot problematiche.
Gli insight sugli hotspot sono disponibili nelle configurazioni a regione singola, multiregionale e a due regioni.
Prezzi
Non sono previsti costi aggiuntivi per gli insight sugli hotspot.
Conservazione dei dati
Le policy sulla conservazione dei dati per i grafici di insight sugli hotspot e la tabella delle suddivisioni TopN si basano sulle tabelle SPANNER_SYS.SPLIT_STATS_TOP_* sottostanti. Per
policy di conservazione specifiche, consulta
Conservazione dei dati delle statistiche di suddivisione hot.
Ruoli obbligatori
Potresti aver bisogno di ruoli e autorizzazioni di Identity and Access Management (IAM) diversi, a seconda che tu sia un utente IAM o un utente con controllo dell'accesso granulare dell'accesso.
Utente IAM
Per ottenere le autorizzazioni necessarie per visualizzare la pagina Insight sugli hotspot, chiedi all'amministratore di concederti i seguenti ruoli IAM sull'istanza:
-
Tutti:
- Cloud Spanner Viewer (
roles/spanner.viewer) - Cloud Spanner Database Reader (
roles/spanner.databaseReader)
- Cloud Spanner Viewer (
Per visualizzare la pagina Insight sugli hotspot, sono necessarie le seguenti autorizzazioni nel ruolo Cloud Spanner Database Reader (
roles/spanner.databaseReader):
spanner.databases.beginReadOnlyTransactionspanner.databases.selectspanner.sessions.create
Utente con controllo dell'accesso granulare dell'accesso
Se utilizzi controllo dell'accesso granulare dell'accesso, assicurati di:
- Disporre del ruolo Cloud Spanner Viewer
(
roles/spanner.viewer) - Disporre dei privilegi di controllo dell'accesso granulare dell'accesso e del ruolo di sistema
spanner_sys_readero di uno dei relativi ruoli membri. - Seleziona
spanner_sys_readero un ruolo di membro come ruolo di sistema attuale nella pagina Panoramica del database.
Per saperne di più, consulta la panoramica del controllo dell'accesso granulare dell'accesso e i ruoli di sistema per controllo dell'accesso granulare dell'accesso.
Apri la dashboard degli insight sugli hotspot
La dashboard Insight 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 Insight sugli hotspot per un database, segui questi passaggi:
Nella console Google Cloud , apri la pagina Spanner.
Seleziona un'istanza dall'elenco.
Nel menu di navigazione, fai clic sulla scheda Insight sugli hotspot.
Nel campo database, seleziona un database dall'elenco. La dashboard mostra il punteggio di utilizzo CPU con suddivisioni massime per il database.
La dashboard include i seguenti elementi:
- 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 Database: filtra le informazioni sulle suddivisioni hot in base a un database specifico o a tutti i database.
- Filtro intervallo di tempo: filtra l'utilizzo della CPU con suddivisioni massime in incrementi di 1 minuto fino a un totale di 6 ore.
- Tabella delle prime N suddivisioni: mostra l'elenco delle prime suddivisioni ordinate in base ai punteggi di utilizzo della CPU.

Informazioni sui dati nella tabella delle prime N suddivisioni:
la tabella delle prime N suddivisioni compila i dati delle tabelle SPANNER_SYS.SPLIT_STATS_TOP_* sottostanti in base all'intervallo di tempo selezionato. Per saperne di più, consulta Conservazione dei dati delle statistiche di suddivisione a caldo.
Interpretazione delle righe delle tabelle 10MINUTE o HOUR:
le righe provenienti da SPANNER_SYS.SPLIT_STATS_TOP_10MINUTE o SPANNER_SYS.SPLIT_STATS_TOP_HOUR
rappresentano i dati aggregati nei rispettivi intervalli. Come descritto in
Aggregazione degli eventi della tabella,
CPU_USAGE_SCORE in queste righe è il punteggio massimo visualizzato in qualsiasi
intervallo secondario di 1 minuto sottostante e UNSPLITTABLE_REASONS è un'unione di
motivi.
Determina se gli hotspot richiedono un intervento
Se nel grafico vedi un picco o un aumento che corrisponde alla latenza complessiva e un punteggio di utilizzo della CPU con suddivisioni massime costantemente elevato, potrebbe essere necessario indagare ulteriormente.
Esamina il grafico per esplorare queste domande:
Quale database sta riscontrando il peggioramento della latenza? Seleziona diversi database dall'elenco Database per trovare quelli con la latenza più alta. Per scoprire quale database ha il carico più elevato, puoi anche esaminare il grafico Latenza per i database nella console Google Cloud .

La latenza è elevata? La latenza è elevata rispetto a quella prevista per il workload? Il grafico presenta picchi o diventa più elevato nel tempo? Se non riscontri una latenza elevata, gli hotspot non sono un problema.
Il punteggio di utilizzo della CPU con suddivisioni massime è al 100%? Il grafico mostra picchi o un aumento nel tempo? Se non vedi percentuali di utilizzo della CPU con picco di suddivisione persistente al 100% per almeno 10 minuti, gli hotspot potrebbero non essere un problema. Se la percentuale di utilizzo della CPU per la suddivisione di picco è elevata per più di 10 minuti, ti consigliamo di eseguire ulteriori indagini per verificare se il database ha livelli di latenza superiori al previsto.
Se vedi percentuali di utilizzo della CPU di picco della suddivisione del 100% per più di 10 minuti, gli hotspot potrebbero richiedere il tuo intervento. Successivamente, puoi continuare il percorso di debug identificando le suddivisioni hot nel database.
Identifica le suddivisioni hot problematiche
Per identificare una suddivisione potenzialmente problematica con hotspot, consulta la sezione Suddivisioni TopN nella console Google Cloud , come mostrato di seguito.

La tabella Suddivisioni TopN fornisce una panoramica delle suddivisioni che potrebbero essere frequenti durante la finestra temporale scelta, ordinate dalla più recente alla meno recente. Il numero di suddivisioni TopN è limitato a 100.
Per i grafici, Spanner recupera i dati dalla tabella delle statistiche delle suddivisioni TopN, con una granularità di un minuto. Il valore di 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 l'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.
- Motivi per cui non è possibile dividere: un array di motivi per cui Spanner non può dividere ulteriormente una suddivisione che causa un hotspot. La presenza di valori qui indica che la suddivisione basata sul carico non è in grado di mitigare l'hotspot per i motivi elencati. Per saperne di più, consulta
Tipi di
UNSPLITTABLE_REASONS.
Analizza i motivi per cui non è possibile dividere
La tabella TopN splits (Suddivisioni TopN) ti consente di visualizzare in dettaglio quali suddivisioni specifiche sono interessate da questi motivi in determinati momenti, come mostrato nella colonna Unsplittable reasons (Motivi di non suddivisibilità).
Esempio di workflow di diagnostica
Ecco un flusso di lavoro tipico per il debug degli hotspot utilizzando la dashboard:
- Osserva il problema di prestazioni: nota un aumento della latenza o degli errori nella tua applicazione.
- Apri Insight sugli hotspot: vai alla dashboard Insight sugli hotspot nella console Google Cloud per il database Spanner pertinente. Seleziona l'intervallo di tempo corrispondente al problema.
- Esamina il grafico:
- Controlla il grafico Punteggio utilizzo CPU con suddivisioni massime per verificare la presenza di valori elevati sostenuti, ad esempio >50%, in particolare che si avvicinano al 100% per almeno 10 minuti.
- Identifica le suddivisioni interessate e correla i risultati: se l'utilizzo della CPU è elevato, vai alla tabella Suddivisioni TopN. Filtra o ordina per trovare le suddivisioni con il punteggio di utilizzo della CPU con suddivisioni più alto durante il periodo di impatto. Esamina la colonna
UNSPLITTABLE_REASONSper queste suddivisioni principali:- Punteggio di utilizzo della CPU elevato per la suddivisione e motivi per cui non è possibile eseguire la suddivisione: questo è un forte indicatore del fatto che il problema di prestazioni è correlato a hotspot che Spanner non può risolvere automaticamente. Il tipo di motivo, ad esempio
HOT_ROWoMOVING_HOT_SPOT, fornisce un indizio fondamentale. - Punteggio di utilizzo della CPU con suddivisioni elevato e nessun motivo di non suddivisibilità: l'hotspot potrebbe essere nuovo e Spanner potrebbe essere ancora in fase di suddivisione. In alternativa, il problema potrebbe essere una risposta alle modifiche del workload, che non richiede alcun intervento da parte tua.
- Punteggio di utilizzo della CPU elevato per la suddivisione e motivi per cui non è possibile eseguire la suddivisione: questo è un forte indicatore del fatto che il problema di prestazioni è correlato a hotspot che Spanner non può risolvere automaticamente. Il tipo di motivo, ad esempio
- Comprendi i motivi: prendi nota dei codici specifici nell'array
UNSPLITTABLE_REASONS. - Mitigazione: in base ai motivi identificati, consulta i
tipi di
UNSPLITTABLE_REASONSper spiegazioni dettagliate e strategie di mitigazione consigliate, che di solito comportano modifiche alla progettazione dello schema o aggiustamenti del workload.
Passaggi successivi
- Scopri di più sulle statistiche degli hotspot di suddivisione