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 specifici.

Alcuni problemi rilevati in Key Visualizer riguardano la definizione della chiave primaria. Poiché una chiave primaria è immutabile, è meglio rilevare questi problemi durante la fase di progettazione o di prova del concetto.

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 all'istanza, consulta Modificare il numero di nodi.

Prima di leggere questa pagina, è necessario acquisire familiarità con la 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 combinazione dettagliata di colori scuri e brillanti, le letture e le scritture sono distribuite uniformemente nel database. Questa mappa termica rappresenta un pattern di utilizzo efficace per Spanner, pertanto non è richiesta alcuna azione da parte tua.

La tua mappa termica potrebbe non essere distribuita in modo così uniforme, ma illustra comunque uno schema e un carico di lavoro sani. 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 antipattern in Spanner. Consulta la pagina Best practice per la progettazione dello schema per scoprire perché le chiavi sequenziali causano 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 il problema, ti consigliamo di modificare il design dello schema o dell'applicazione in modo che i dati di una riga molto utilizzata o di una riga eccessivamente grande vengano distribuiti su più righe.

Tabella calda 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 modello non è necessariamente problematico. Se noti 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 all'attività di lettura, ad esempio un'esportazione di tabelle, non è necessario alcun intervento. 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 periodo e l'altro.

Se le righe corrispondono all'attività di scrittura e riscontri problemi di rendimento, ti consigliamo di modificare il carico di lavoro impostando una scrittura casuale anziché sequenziale.

Aumento improvviso del traffico

Mappa termica di esempio 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. Può trattarsi di una query anomala o di un aumento imprevisto dell'attività per determinate righe.

Precisazioni

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

Scenario Che cosa mostra la mappa termica
Una tabella di dati di grandi dimensioni e alcune tabelle di piccole dimensioni 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 intervallo di chiavi sono attive in una piccola tabella, l'utente potrebbe sapere solo che questa tabella è attiva, ma non di più.
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. Pertanto, gli hotspot potrebbero non essere presenti perché la tabella è stata saltata o sottocampionata.
Tasti che cambiano rapidamente Le modifiche rapide dello spazio delle chiavi comportano modifiche frequenti degli intervalli di righe. Quando un intervallo di righe precedente deve essere suddiviso a causa di chiavi appena inserite o vengono uniti più intervalli di righe a causa di chiavi eliminate, le metriche verranno 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