Pattern di mappa termica

Questa pagina mostra esempi di pattern che potresti visualizzare in una mappa termica di Key Visualizer. Questi pattern possono aiutarti a risolvere problemi di prestazioni specifiche che le applicazioni presentino problemi di prestazioni.

Alcuni problemi rilevati in Key Visualizer riguardano la definizione della chiave primaria. Poiché una chiave primaria è immutabile, è meglio individuare questi problemi durante la fase di progettazione o proof of concept.

Altri problemi potrebbero riguardare l'allocazione dei nodi dell'istanza. Potresti dover eseguire il provisioning di una capacità aggiuntiva, in generale o in determinati momenti della giornata. Per modificare il numero di nodi associati alla tua istanza, consulta Modificare il numero di nodi.

Prima di leggere questa pagina, dovresti conoscere le panoramica di Key Visualizer.

Letture e scritture distribuite in modo uniforme

Esempio di mappa termica che mostra aree di caldo e freddo distribuite uniformemente

Se una mappa termica mostra una miscela granulare di colori scuri e brillanti, allora legge e le scritture sono distribuite uniformemente in tutto il database. Questa mappa termica rappresenta un pattern di utilizzo effettivo per Spanner, quindi non è necessario a qualsiasi azione.

La tua mappa termica potrebbe non essere distribuita uniformemente come questa, ma illustra comunque di uno schema e di un carico di lavoro integri. In una configurazione con risorse adeguate è possibile prevedere un certo numero di hotspot.

Chiavi con incremento monotono

Esempio di mappa termica che mostra una banda calda diagonale (in calo da sinistra a destra)

Una mappa di calore con una singola linea diagonale brillante o un triangolo con la parte superiore piatta può indicare un database che utilizza chiavi sequenziali. Le chiavi sequenziali sono un l'anti-pattern in Spanner; vedi il Pagina delle best practice per la progettazione degli schemi sul perché le chiavi sequenziali causano l'hotspot.

Intervalli di tasti di scelta rapida sempre attivi

Esempio di mappa termica che mostra più bande orizzontali calde

Se una mappa termica mostra bande orizzontali di colori vivaci, separate da colori scuri, indica che intervalli di righe specifici vengono costantemente più frequentemente accessi nel tempo.

Per risolvere questo problema, valuta la possibilità di modificare la progettazione dello schema o l'applicazione in modo che i dati in una riga molto utilizzata o troppo grande siano distribuite su più righe.

Tabella attiva singola

Esempio di mappa termica che mostra una singola banda orizzontale calda

Se una mappa di calore mostra una banda di colore brillante in una singola tabella, indica un accesso elevato a quella tabella nel tempo.

Questo schema di per sé non è necessariamente problematico. Se riscontri questo andamento in combinazione con problemi di prestazioni, è probabile che la tua capacità di calcolo stia per esaurirsi. Alcuni aspetti da tenere in considerazione:

  • L'applicazione potrebbe richiedere una scansione completa della tabella, che verrà visualizzata in Visualizzatore chiavi come una banda luminosa dell'intera tabella. Valuta invece la possibilità di eseguire una query più restrittiva o una query sull'indice per ridurre il numero di righe sottoposte a scansione.

  • Aumenta il numero di nodi per questa istanza.

Letture e scritture itineranti nel tempo

Esempio di mappa termica che mostra bande calde diagonali (in aumento da sinistra a destra)

Una mappa di calore che mostra più linee diagonali luminose (in aumento o in calo) solitamente indica letture o scritture sequenziali nelle righe in un breve periodo di tempo.

Se le righe corrispondono a un'attività di lettura, ad esempio un'esportazione di una tabella, non viene obbligatorio. Se riscontri problemi di prestazioni durante queste letture, ti consigliamo di aumentare il numero di nodi per la tua istanza durante questi periodi di tempo. Puoi diminuire il numero di nodi tra un punto e l'altro.

Se le righe corrispondono all'attività di scrittura e stai notando delle prestazioni problemi, ti consigliamo di modificare il carico di lavoro in una scrittura casuale anziché una scrittura sequenziale.

Aumento improvviso del traffico

Esempio di mappa termica che mostra due bande orizzontali calde che iniziano a metà della mappa termica

Una mappa termica che mostra bande orizzontali luminose che appaiono a metà della mappa termica indica un cambiamento improvviso nel modello di utilizzo di un database. Potrebbe trattarsi di un rogue o un picco imprevisto di attività per determinate righe.

Limitazioni

In alcuni scenari Key Visualizer potrebbe non presentare un quadro completo delle prestazioni e dell'utilizzo delle risorse.

Scenario Dati mostrati dalla mappa termica
Una tabella di dati di grandi dimensioni e alcune tabelle piccole Key Visualizer seleziona più intervalli di righe nelle tabelle di grandi dimensioni rispetto a quelle più piccole. Di conseguenza, una piccola tabella potrebbe essere visualizzata solo come un intervallo di una riga nella mappa termica. Sarà presente un intervallo di righe che rappresenta ogni tabella, purché il numero di tabelle sia inferiore a 1000. Quando una chiave o un piccolo gruppo di chiavi sono attivi in una piccola tabella, l'utente può sapere solo che questa tabella è attiva, ma non oltre.
Molte tabelle / indici
Ad esempio, un database con centinaia o più di mille tabelle, indipendentemente dalle dimensioni.
Key Visualizer seleziona al massimo 1000 intervalli di righe. Quando sono presenti molte tabelle e indici, alcuni potrebbero avere solo zero o un punto dati nella mappa termica. Di conseguenza, gli hotspot potrebbero mancare perché la relativa tabella è stata ignorata o sottocampionata.
Tasti che cambiano rapidamente I rapidi cambiamenti nello spazio delle chiavi daranno luogo a modifiche frequenti negli intervalli di righe. Quando un intervallo di righe precedente deve essere suddiviso, a causa di chiavi appena inserite, o più intervalli di righe sono stati uniti a causa di chiavi eliminate, le metriche vengono approssimate (ad es. divise/combinate). L'approssimazione composta dei valori delle metriche probabilmente li renderà meno accurati. Inoltre, esiste un ritardo nell'aggiornamento degli intervalli di righe dopo le modifiche nello spazio delle chiavi, il che può comportare una perdita di granularità fino all'aggiornamento degli intervalli di righe.

Passaggi successivi