Pattern di mappa termica

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

Alcuni problemi esposti in Key Visualizer sono correlati alla tua chiave primaria definizione di Kubernetes. 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 della tua istanza. Potresti dover fornire capacità aggiuntiva, complessivamente o possibilmente in determinati momenti giorno. 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 calde e fredde 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. È previsto un certo numero di hotspot in un configurazione con le risorse adeguate.

Aumento monotonico dei tasti

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

Una mappa termica con una singola linea diagonale luminosa o un triangolo con una parte superiore piatta. può indicare un database che usa 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 chiavi attive permanenti

Esempio di mappa termica che mostra più bande orizzontali calde

Se una mappa termica mostra bande orizzontali di colori brillanti, separate da colori scuri, indica che intervalli di righe specifici sono costantemente a cui si accede 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 termica mostra una banda di colori brillanti in una singola tabella, indica un elevato accesso alla tabella nel tempo.

Questo schema di per sé non è necessariamente problematico. Se visualizzi questo di progettazione in combinazione con problemi di prestazioni, probabilmente sta esaurendo la capacità di calcolo. Alcuni aspetti da considerare:

  • La tua applicazione potrebbe richiedere una scansione completa della tabella, che verrà visualizzata in Key Visualizer come una banda luminosa dell'intera tabella. Considera invece o una query più restrittiva sull'indice per ridurre il numero di righe in fase di analisi.

  • Aumenta il numero di nodi per questa istanza.

Letture e scritture ricorrenti nel tempo

Esempio di mappa termica che mostra le bande calde diagonali (aumentando da sinistra a destra)

Una mappa termica che mostra più linee luminose diagonali (aumento o diminuzione) di solito indica letture o scritture sequenziali sulle 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 aumentando il numero di nodi per l'istanza durante queste in determinati 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 in parte nella mappa termica indicare un cambiamento improvviso nel modello di utilizzo di un database. Potrebbe trattarsi di un rogue o un picco imprevisto di attività per determinate righe.

Precisazioni

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 alle tabelle più piccole. Di conseguenza, una tabella di piccole dimensioni potrebbe essere visualizzata solo come un singolo intervallo di righe all'interno della mappa termica. Ci sarà 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 molti 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 precisi. Inoltre, c'è un ritardo nell'aggiornamento degli intervalli di righe dopo le modifiche allo spazio delle chiavi, il che può comportare una perdita di granularità fino all'aggiornamento degli intervalli di righe.

Passaggi successivi