Gli strumenti di introspezione per Spanner ti consentono di esaminare i problemi relativi al tuo database. Sono costituiti da un insieme di tabelle integrate su cui puoi eseguire query per ottenere ulteriori informazioni su query, transazioni, letture e altro ancora. Non so quale strumento utilizzare per un particolare problema? Nell'elenco che segue sono riepilogati tutti gli strumenti e i tipi di domande a cui possono aiutare a rispondere.
Statistiche sulle query
Durante l'analisi dei problemi nel tuo database, è utile sapere quali query sono costosi, vengono eseguiti di frequente o eseguono la scansione di molti dati.
Le statistiche sulle query sono statistiche aggregate per le query (incluse le istruzioni DML e le query stream di modifiche), raccolte in intervalli di 1, 10 e 60 minuti. Vengono raccolte statistiche per le istruzioni completate correttamente e non riuscite, con timestamp o che sono stati annullati dall'utente.
Le statistiche includono l'utilizzo massimo della CPU, il numero di query totale numero di esecuzioni, latenza media, maggior parte dei dati analizzati e query di base aggiuntive statistiche. Utilizza queste statistiche per identificare costose, query eseguite di frequente con uso intensivo dei dati.
Puoi visualizzare queste metriche su una serie temporale utilizzando Query Insights. le dashboard. Queste dashboard predefinite ti consentono di visualizzare i picchi di utilizzo della CPU e identificare le query inefficienti.
Query attive meno recenti
A volte è opportuno esaminare il carico di lavoro corrente sul sistema esaminando le query in esecuzione. Utilizza lo strumento Query attive meno recenti per esaminare le query in esecuzione da molto tempo che potrebbero avere un impatto sul rendimento del database. Questo strumento ti dice quali sono le query, quando hanno iniziato a essere eseguite e a quale sessione appartengono.
Le query relative ai flussi di modifiche non sono incluse nelle query attive meno recenti.
Statistiche sulle letture
Le statistiche di lettura possono essere utilizzate per esaminare le letture più comuni e che richiedono più risorse nel tuo database utilizzando l'API Reads di Spanner. Le statistiche vengono raccolte e archiviate in 3 diverse intervalli di tempo: minuto, 10 minuti e un'ora. Per ogni intervallo di tempo, Spanner monitora le letture che utilizzano più risorse.
Utilizza le statistiche di lettura per scoprire l'utilizzo combinato delle risorse da parte di tutte le letture, individuare le letture che consumano più CPU e scoprire come cambia nel tempo la frequenza di una lettura specifica.
Statistiche sulle transazioni
Le statistiche sulle transazioni possono essere utilizzate per indagare problemi relativi alle transazioni. Ad esempio, puoi verificare la presenza di transazioni con esecuzione lenta che potrebbero causare conflitti o identificare modifiche alle forme delle transazioni che stanno causando regressioni del rendimento. Ogni riga contiene statistiche di tutte le transazioni eseguite nel database durante intervalli di 1, 10 e 60 minuti.
Puoi visualizzare queste metriche in una serie temporale utilizzando la dashboard Approfondimenti sulle transazioni. La dashboard predefinita ti consente di visualizzare le latenze nelle transazioni e identificare le transazioni problematiche.
Statistiche sui blocchi
Le statistiche sui blocchi possono essere utilizzate per esaminare i conflitti di blocco nel tuo database. Utilizzata con le statistiche sulle transazioni, puoi trovare transazioni causano conflitti nel tentativo di acquisire blocchi nelle stesse celle contemporaneamente.
Puoi visualizzare queste metriche su una serie temporale utilizzando la dashboard Approfondimenti sui blocchi. La dashboard predefinita ti aiuta a visualizzare il tempo di attesa della serratura e a confermare se le latenze sono dovute a conflitti del blocco con tempi di attesa per il blocco elevati.
Metodi dell'API inclusi in ogni strumento
In Spanner c'è una sovrapposizione tra le transazioni, letture e query. Pertanto, potrebbe non essere chiaro I metodi dell'API sono inclusi nella compilazione dei risultati di ogni strumento di introspezione. La tabella riportata di seguito elenca i metodi API principali e la loro relazione con ciascun strumento.
Metodi API | Modalità di transazione | Statistiche sulle query | Query attive meno recenti | Statistiche sulle letture | Statistiche sulle transazioni | Statistiche sui blocchi |
---|---|---|---|---|---|---|
Lettura, streamingRead | Transazione di sola lettura1 | No | No | Sì | No | No |
Transazione di lettura/scrittura | No | No | Sì | Sì | Sì | |
EsecuzioneSql, EsecuzioneStreamingSql | Transazione di sola lettura1 | Sì2 | Sì2 | No | No | No |
Transazione di lettura/scrittura | Sì | Sì | No | Sì | Sì | |
ExecuteBatchDml | Transazioni di lettura/scrittura | Sì3 | Sì4 | No | Sì | Sì |
Esegui il commit | Transazioni di lettura/scrittura (DML5, Mutazioni6) | No | No | No | Sì | Sì |
Note:
1 Le transazioni di sola lettura non sono incluse nelle statistiche sulle transazioni o nelle statistiche sui blocchi. Solo le transazioni di lettura/scrittura sono incluse nelle statistiche sulle transazioni e nelle statistiche sui blocchi.
2 Le query eseguite con l'API PartitionQuery non sono incluse nella query statistiche o query attive meno recenti.
3 Un gruppo di istruzioni DML viene visualizzato nelle statistiche delle query come voce singola.
4 Le istruzioni all'interno del batch verranno visualizzate nelle query attive meno recenti, anziché l'intero batch.
5 Le operazioni DML senza impegno non sono incluse nella transazione statistiche.
6 Le mutazioni vuote che sono effettivamente no-op non sono incluse nelle statistiche sulle transazioni.
Statistiche sulle dimensioni delle tabelle
Puoi utilizzare le statistiche sulle dimensioni della tabella per monitorare il le dimensioni storiche delle tabelle e degli indici nel database.
Utilizza le statistiche sulle dimensioni delle tabelle per trovare le tendenze nelle dimensioni delle tabelle, degli indici e delle tabelle di stream di modifiche. Puoi anche tenere traccia delle tabelle e degli indici più grandi.
Tieni presente che questa funzionalità fornisce solo una prospettiva storica. Non è per il monitoraggio in tempo reale.
Statistiche delle operazioni delle tabelle
Puoi utilizzare le statistiche sulle operazioni sulle tabelle per:
- Monitora l'utilizzo delle tabelle e degli indici nel database.
- Individua le tendenze di utilizzo di tabelle e indici.
- Identificare le variazioni del traffico.
Inoltre, puoi correlare le modifiche allo spazio di archiviazione delle tabelle con le modifiche al traffico di scrittura.
Hotspot di debug nei suddivisioni
Puoi eseguire il debug degli hotspot nel tuo database per trovare le suddivisioni nel database che sono calde o attive, il che significa che un percentuale del carico su una suddivisione è vincolata dalle risorse disponibili. Puoi visualizzare le statistiche relative alle suddivisioni con i punteggi di utilizzo della CPU più elevati nelle ultime 6 ore, con intervalli di 1 minuto.