Gestore della scalabilità automatica gestito

Questa pagina descrive come funziona lo scalatore automatico gestito e i costi e le limitazioni quando si utilizza lo scalatore automatico gestito di Spanner. Fornisce inoltre informazioni per aiutarti a determinare come configurare il gestore della scalabilità automatica gestito.

Come funziona il gestore della scalabilità automatica gestito

Quando attivi il gestore della scalabilità automatica gestito, Spanner regola automaticamente le dimensioni dell'istanza. Puoi attivare il gestore della scalabilità automatica gestito nell'istanza o nella partizione dell'istanza Spanner (in anteprima). La funzionalità di scalabilità automatica gestita reagisce alle modifiche del workload o delle esigenze di archiviazione dell'istanza man mano che il carico aumenta o diminuisce. Il gestore della scalabilità automatica gestito aumenta la scalabilità, aggiungendo capacità di calcolo all'istanza, oppure riduce la scalabilità, rimuovendo capacità di calcolo dall'istanza.

Quando configuri il gestore della scalabilità automatica gestito, puoi utilizzare le unità di elaborazione per le istanze piccole o i nodi per le istanze grandi. In questo documento utilizziamo il termine capacità di calcolo per indicare nodi o unità di elaborazione.

Il gestore della scalabilità automatica gestito di Spanner determina la capacità di calcolo necessaria in base a quanto segue:

  • Target di utilizzo ad alta priorità della CPU
  • Target di utilizzo totale della CPU
  • Target di utilizzo dello spazio di archiviazione
  • Limite minimo
  • Limite massimo

Ogni dimensione di scalabilità genera una dimensione dell'istanza consigliata e Spanner utilizza automaticamente quella più alta. Ciò significa, ad esempio, che se la tua istanza ha bisogno di 10 nodi per raggiungere il target di utilizzo dello spazio di archiviazione, ma di 12 nodi per raggiungere il target di utilizzo della CPU, Spanner scala l'istanza a 12 nodi.

Man mano che la quantità di capacità di calcolo cambia, Spanner ottimizza continuamente l'archiviazione. Ridistribuisce i dati su tutti i server per garantire che il traffico sia distribuito in modo uniforme e che nessun server singolo sia sovraccarico. Per ulteriori informazioni, vedi Limitazioni.

Se il gestore della scalabilità automatica gestito aumenta le dimensioni di un'istanza fino al limite massimo, ma il workload continua a causare un utilizzo della CPU superiore a quello target, le richieste del workload potrebbero avere una latenza maggiore o non riuscire. Se un'istanza esegue lo scale up fino al target di capacità di calcolo massima, ma il workload ha bisogno di più spazio di archiviazione rispetto al limite massimo di archiviazione, le richieste di scrittura possono non riuscire. Per scoprire se è stato raggiunto il target massimo, puoi visualizzare i log degli eventi di sistema del gestore della scalabilità automatica gestita nella console Google Cloud nella pagina Approfondimenti di sistema. Per saperne di più, consulta i limiti di archiviazione.

Quando Spanner riduce le dimensioni di un'istanza, rimuove la capacità di calcolo a una velocità inferiore rispetto a quando aumenta le dimensioni, per ridurre l'impatto sulla latenza.

Puoi scegliere di scalare automaticamente in modo asimmetrico le repliche di sola lettura nelle tue istanze. Non puoi scalare automaticamente in modo asimmetrico le partizioni delle istanze. Per saperne di più, consulta Scalabilità automatica asimmetrica di sola lettura.

Prezzi

I costi totali di Spanner potrebbero essere inferiori o superiori a seconda di come hai configurato l'istanza o la partizione dell'istanza Spanner prima di attivare il gestore della scalabilità automatica gestito e dei limiti che hai impostato per il gestore della scalabilità automatica gestito.

Ad esempio, se prima configuravi manualmente l'istanza Spanner in modo che avesse una capacità di calcolo sufficiente per gestire i picchi di workload in qualsiasi momento, i costi con lo scalatore automatico gestito potrebbero essere inferiori perché riduce la capacità di calcolo quando l'istanza è inattiva.

Se in passato configuravi manualmente l'istanza Spanner in modo che avesse capacità di calcolo sufficiente per i workload medi e il rendimento complessivo peggiora quando il traffico del workload aumenta, i costi con il gestore della scalabilità automatica gestito potrebbero essere superiori perché il gestore della scalabilità automatica gestito potrebbe aumentare la capacità di calcolo quando l'istanza è occupata. Tuttavia, in questo modo gli utenti ottengono un rendimento più coerente.

Puoi limitare il costo massimo della tua istanza Spanner impostando il limite massimo di nodi o unità di elaborazione al livello che vuoi spendere.

Potresti notare un aumento della capacità di calcolo utilizzata e quindi un aumento dei costi quando imposti un target di utilizzo della CPU totale nell'istanza Spanner rispetto all'impostazione di un solo target di utilizzo della CPU ad alta priorità. Tuttavia, l'utente finale ha un'esperienza notevolmente migliore e prestazioni migliorate quando questa opzione è impostata.

Limitazioni

Quando attivi o modifichi la funzionalità di scalabilità automatica gestita su un'istanza o una partizione di istanza, si applicano le seguenti limitazioni:

  • Non puoi spostare un'istanza quando è attiva la funzionalità di scalabilità automatica gestita. Devi prima disattivare lo scaler automatico gestito, quindi spostare l'istanza. Dopo aver spostato l'istanza, puoi riattivare il gestore della scalabilità automatica gestito.
  • Devi impostare il limite minimo per l'istanza di scalabilità automatica su 1000 unità di elaborazione o più oppure su 1 nodo o più.
  • Quando abiliti la scalabilità automatica su un'istanza esistente, la capacità dell'istanza esistente può essere inferiore al valore limite minimo che configuri nel gestore della scalabilità automatica gestita. Tuttavia, l'istanza viene scalata automaticamente fino al valore minimo configurato quando la avvii. Ad esempio, se la tua istanza ha un nodo, ma imposti il valore minimo su due nodi, quando avvii l'istanza, questa viene scalata automaticamente a due nodi.
  • Non puoi scalare automaticamente in modo asimmetrico le partizioni delle istanze.
  • Se il numero di righe di posizionamento nella partizione è superiore a 100 milioni, non attivare la scalabilità automatica. Si tratta di un limite di partizionamento geografico.

Parametri del gestore della scalabilità automatica gestito

Quando crei o modifichi un'istanza o una partizione di istanza e scegli di attivare lo scalatore automatico gestito, definisci i valori mostrati nella tabella seguente.

Parametro Descrizione
Target di utilizzo ad alta priorità della CPU Una percentuale della capacità della CPU dell'istanza da utilizzare per le attività ad alta priorità. Questo valore deve essere compreso tra il 10% e il 90%. Quando l'utilizzo della CPU ad alta priorità di un'istanza supera il target che hai impostato, Spanner aggiunge immediatamente capacità di calcolo all'istanza. Quando l'utilizzo della CPU è notevolmente inferiore al target, Spanner rimuove la capacità di calcolo. Per saperne di più, consulta Determinare il target di utilizzo della CPU ad alta priorità.
Target di utilizzo totale della CPU Una percentuale della capacità totale della CPU dell'istanza da utilizzare per le attività ad alta, media e bassa priorità. Questo valore deve essere compreso tra il 10% e il 90%. Quando l'utilizzo totale della CPU di un'istanza supera il target che hai impostato, Spanner aggiunge immediatamente capacità di calcolo all'istanza. Quando l'utilizzo totale della CPU è notevolmente inferiore al target, Spanner rimuove la capacità di calcolo. Per ulteriori informazioni, vedi Determinare il target di utilizzo totale della CPU.
Target di utilizzo dello spazio di archiviazione La percentuale di spazio di archiviazione su un nodo che puoi utilizzare prima che Spanner aumenti le risorse. Questo target garantisce di avere sempre capacità di calcolo sufficiente per gestire le fluttuazioni della quantità di dati che memorizzi. Questo valore deve essere compreso tra il 10 e il 99%. Per indicazioni, vedi Determinare il target di utilizzo dello spazio di archiviazione.
Limite minimo La quantità minima di capacità di calcolo a cui Spanner ridimensiona l'istanza. Il valore minimo non può essere inferiore al 10% del valore impostato per il limite massimo. Ad esempio, se il limite massimo è 40 nodi, il limite minimo deve essere almeno 4 nodi. Il requisito del 10% è un limite fisso. Per indicazioni, vedi Determinare il limite minimo.
Limite massimo La quantità massima di capacità di calcolo a cui Spanner aumenta le dimensioni dell'istanza. Per i nodi, questo valore deve essere maggiore di 1 nodo (o 1000 unità di elaborazione) e maggiore o uguale al numero minimo di nodi o unità di elaborazione. Il valore non può essere superiore a 10 volte il numero scelto per la quantità minima di capacità di calcolo. Questo requisito di 10 volte è un limite rigido. Per indicazioni, vedi Determinare il limite massimo.

Configura il gestore della scalabilità automatica gestito

Questa sezione descrive come determinare i numeri da scegliere per i parametri dello scalatore automatico gestito. Dopo aver impostato i valori iniziali, monitora l'istanza e modifica i numeri se necessario.

Determinare il target di utilizzo della CPU ad alta priorità

Il target ottimale per l'istanza o la partizione dell'istanza dipende dai requisiti di latenza e throughput del workload. Per visualizzare i nostri consigli per l'utilizzo massimo della CPU per le configurazioni di istanze regionali, dual-region e multiregionali, consulta Avvisi per l'utilizzo elevato della CPU.

Quando l'utilizzo della CPU è vicino o superiore al 100%, le prestazioni potrebbero peggiorare. Se il tuo workload è sensibile alla latenza o alle prestazioni, valuta la possibilità di personalizzare il target CPU totale con un valore inferiore. Tieni presente che questa operazione potrebbe comportare costi più elevati.

In generale, se osservi una latenza inaccettabilmente elevata, devi ridurre l'utilizzo della CPU target.

Puoi anche configurare i target per l'utilizzo della CPU totale e ad alta priorità. Per ulteriori informazioni, consulta Determinare entrambi i target di utilizzo della CPU.

Determinare il target di utilizzo totale della CPU

Quando imposti il target di utilizzo totale della CPU, Spanner esegue lo scale up automatico per garantire una capacità sufficiente per attività ad alta, media e bassa priorità.

Se i tuoi carichi di lavoro sono sensibili alla latenza o se vuoi che le attività di sistema vengano completate prima, devi impostare la CPU totale di destinazione per assicurarti che l'istanza abbia una capacità sufficiente. Quando viene impostato il target CPU totale, potresti pagare di più, ma le tue applicazioni offrono un'esperienza migliore ai tuoi clienti.

Se il target CPU totale è impostato e continui a osservare una latenza inaccettabilmente elevata, devi ridurre il target di utilizzo totale della CPU.

Per ottimizzare la velocità effettiva delle scritture e della creazione di indici, consigliamo un target CPU totale del 70% per le istanze regionali e del 50% per le istanze multiregionali. Funziona bene anche durante il failover, se non è selezionata la destinazione ad alta priorità. Tuttavia, questi target potrebbero comportare costi più elevati. Se il costo è un problema, ti consigliamo una CPU target totale dell'85%. In questo modo si crea un overhead per assorbire i picchi senza attivare la latenza causata dalla saturazione delle risorse (utilizzo al 100%).

Per impostazione predefinita, Spanner assegna la priorità al traffico rivolto agli utenti limitando le operazioni in background che richiedono molte risorse (come la creazione di indici). Puoi accelerare queste operazioni in background configurando un target di utilizzo totale della CPU inferiore (ad esempio, <=60%). Questo indica al gestore della scalabilità automatica di eseguire il provisioning di risorse di calcolo aggiuntive, aumentando la velocità effettiva delle attività di sistema. Tuttavia, questa operazione potrebbe aumentare i costi. Se vuoi aumentare temporaneamente il throughput per la creazione dell'indice, puoi impostare target CPU totali inferiori fino al completamento della creazione dell'indice.

Puoi anche configurare i target per l'utilizzo della CPU totale e ad alta priorità. Per ulteriori informazioni, consulta Determinare entrambi i target di utilizzo della CPU.

Determina entrambi i target di utilizzo della CPU

Se configuri i target per l'utilizzo totale della CPU e della CPU ad alta priorità, il gestore della scalabilità automatica valuta entrambe le metriche contemporaneamente. A questo punto, seleziona il numero più alto tra i due nodi o unità di elaborazione consigliati. In questo modo, l'istanza viene scalata per soddisfare il requisito più impegnativo, mantenendo le prestazioni per i carichi di lavoro critici durante il completamento delle attività in background.

Quando vengono impostati sia il target di utilizzo della CPU ad alta priorità sia il target di utilizzo totale della CPU, l'utilizzo della CPU per le attività ad alta priorità fa parte di questo totale, insieme alle attività a priorità bassa e media. Il valore del target di utilizzo della CPU ad alta priorità deve essere inferiore al target di utilizzo totale della CPU quando entrambe le opzioni sono selezionate.

In generale, se osservi una latenza inaccettabilmente elevata, devi ridurre l'utilizzo della CPU target.

In genere, consigliamo i seguenti target di utilizzo della CPU per un failover affidabile:

Tipo di istanza Target di utilizzo totale della CPU Target di utilizzo ad alta priorità della CPU
Istanza regionale 70% 65%
Istanza multiregionale 50% 45%

A seconda del workload, consigliamo anche i seguenti target di utilizzo della CPU più specifici:

Tipo di workload Target CPU consigliati Compromesso
Workload sensibile al throughput e con molte operazioni di scrittura Target di utilizzo totale della CPU: 70% Throughput più elevato a scapito della latenza
Workload sensibile alla latenza e con molte letture Target di utilizzo totale della CPU: 80%

Target di utilizzo ad alta priorità della CPU: 65% (regionale) o 45% (multiregionale)
Latenza di coda prevedibile a un costo maggiore
Prioritizzazione dei carichi di lavoro in base all'efficienza dei costi Target di utilizzo totale della CPU: 85%

Target di utilizzo ad alta priorità della CPU: 65% (regionale) o 45% (multiregionale)
Costo e prestazioni ragionevoli con la creazione dell'indice potenzialmente ritardata

Determinare il target di utilizzo dello spazio di archiviazione

Per la scalabilità automatica, il target di utilizzo dello spazio di archiviazione è espresso come percentuale per nodo. Per le istanze o le partizioni di istanze con 1 nodo (1000 unità di elaborazione) o più, la dimensione dello spazio di archiviazione è limitata a 10 TiB per nodo.

Determinare il limite massimo

Il valore che scegli come quantità massima di capacità di calcolo è uguale alla quantità di capacità di calcolo necessaria all'istanza o alla partizione di istanze per gestire il traffico più intenso, anche se non prevedi di raggiungere questo volume la maggior parte del tempo. Spanner non esegue mai lo scale up a una capacità di calcolo superiore a quella necessaria. Puoi anche considerare questo numero come la capacità di calcolo massima che sei disposto a pagare. Per saperne di più sui valori accettati, consulta Parametri del gestore della scalabilità automatica.

Il limite massimo deve consentire sia il target di utilizzo della CPU sia il target di utilizzo dello spazio di archiviazione che hai impostato per la scalabilità automatica.

  • Se stai modificando un'istanza da allocazione manuale a scalabilità automatica gestita, individua la quantità massima di capacità di calcolo che l'istanza ha avuto negli ultimi uno o due mesi. Il limite massimo dello strumento di scalabilità automatica gestito deve essere almeno pari a questo valore.

  • Se stai attivando il gestore della scalabilità automatica gestito per una nuova istanza, esamina le metriche di altre istanze e utilizzale come guida quando imposti il limite massimo.

  • Se hai un nuovo carico di lavoro e non sai come crescerà, puoi stimare la quantità di capacità di calcolo necessaria per raggiungere l'obiettivo di utilizzo dello spazio di archiviazione integrato e poi modificare il numero in un secondo momento.

Devi anche sapere quanta quota è rimasta sul tuo nodo, perché il gestore della scalabilità automatica gestito non può configurare l'istanza in modo che abbia una capacità di calcolo superiore alla quota. Per ulteriori informazioni, consulta Limiti dei nodi.

Una volta che l'istanza è in esecuzione con la scalabilità automatica abilitata, monitorala e assicurati che il valore scelto per il limite massimo sia almeno pari al limite consigliato per il target CPU e al limite consigliato per il target di archiviazione.

Determinare il limite minimo

Imposti un limite minimo per il gestore della scalabilità automatica gestito per assicurarti che la tua istanza Spanner o la partizione dell'istanza possa essere ridimensionata fino alle dimensioni più piccole ed economiche. Spanner impedisce automaticamente che il numero di nodi scenda al di sotto del minimo necessario per mantenere i target di utilizzo di CPU e spazio di archiviazione.

Il valore minimo più piccolo consentito dal gestore della scalabilità automatica gestita è 1 nodo o 1000 unità di elaborazione. Quando abiliti la scalabilità automatica per un'istanza esistente con una capacità inferiore al valore minimo configurato per il gestore della scalabilità automatica gestito, l'istanza viene automaticamente scalata fino a questo valore minimo quando la avvii.

Dopo aver avviato l'istanza con la scalabilità automatica gestita, devi eseguire un test iniziale per assicurarti che funzioni con le dimensioni minime impostate. Devi eseguire di nuovo il test periodicamente per assicurarti che continui a funzionare come previsto.

Per saperne di più sui valori accettati, consulta Parametri del gestore della scalabilità automatica gestito.

In molti casi, ti consigliamo di impostare il valore minimo su un valore superiore a 1. Scegli un numero più alto o aumenta il limite minimo per le seguenti situazioni:

  • Hai in programma un evento di scalabilità di picco in cui prevedi un aumento temporaneo del traffico e vuoi assicurarti di avere capacità di calcolo sufficiente.
  • La tua applicazione invia traffico con picchi. Quando aggiungi nuova capacità di calcolo, Spanner esegue automaticamente il ribilanciamento per utilizzare i nuovi nodi o le nuove unità di elaborazione. Poiché questa procedura può richiedere diversi minuti, ti consigliamo di adottare un approccio conservativo e scegliere un valore minimo più alto. In questo modo, la tua istanza può gestire senza problemi i picchi.
  • Aumenti la capacità di calcolo massima. Il valore minimo deve sempre essere pari almeno al 10% del target di capacità di calcolo massima. Ad esempio, se imposti il numero massimo di nodi su 30, devi impostare il numero minimo di nodi su almeno 3.

Se aumenti il valore della capacità di calcolo minima di un'istanza, Spanner tenta immediatamente di scalare l'istanza al nuovo minimo. Si applicano i vincoli standard. Quando la quota è esaurita, la richiesta di modifica della configurazione dello scalatore automatico gestito non va a buon fine e la configurazione non viene aggiornata.

Dopo aver configurato per la prima volta il gestore della scalabilità automatica gestito e periodicamente in seguito, testa l'istanza per assicurarti che funzioni alle dimensioni minime.

Flag e limitazioni dei parametri di Google Cloud CLI

Quando utilizzi Google Cloud CLI per configurare lo scalatore automatico gestito, devi impostare alcuni flag obbligatori. Esistono flag facoltativi che utilizzi per indicare se vuoi utilizzare nodi o unità di elaborazione. Per saperne di più sulla creazione di una nuova istanza o partizione di istanza con il gestore della scalabilità automatica gestito oppure sull'attivazione del gestore della scalabilità automatica gestito su un'istanza o una partizione di istanza esistente, consulta le seguenti guide pratiche:

Quando abiliti il gestore della scalabilità automatica gestito sull'istanza, sono necessari i seguenti flag:

  • autoscaling-high-priority-cpu-percent
  • autoscaling-total-cpu-percent
  • autoscaling-storage-percent

Quando imposti la percentuale di CPU, puoi selezionare una o entrambe le opzioni.

Se scegli di utilizzare i nodi, devi utilizzare anche i seguenti flag quando attivi il gestore della scalabilità automatica gestito:

  • autoscaling-min-nodes
  • autoscaling-max-nodes

Se scegli di utilizzare le unità di elaborazione, devi utilizzare anche i seguenti flag quando attivi il gestore della scalabilità automatica gestito:

  • autoscaling-min-processing-units
  • autoscaling-max-processing-units

Quando aggiungi il gestore della scalabilità automatica gestito a un'istanza esistente utilizzando Google Cloud CLI, si applicano le seguenti limitazioni:

  • Non puoi utilizzare il flag --nodes con i flag --autoscaling-min-nodes o --autoscaling-max-nodes perché l'utilizzo di --nodes imposta un numero specifico di nodi anziché un intervallo di scalabilità. Allo stesso modo, non puoi utilizzare il flag --processing-units con i flag autoscaling-min-processing-units o autoscaling-max-processing-units perché l'utilizzo di --processing-units imposta un numero specifico di unità di elaborazione anziché un intervallo di scalabilità.
  • Non puoi combinare i flag per nodi e unità di elaborazione. Ad esempio, non puoi utilizzare --autoscaling-max-nodes con autoscaling-min-processing-units.

Ottimizzare le impostazioni

Tieni d'occhio l'utilizzo della capacità di calcolo e modifica le impostazioni, se necessario, soprattutto dopo aver attivato per la prima volta il gestore della scalabilità automatica gestito. Ti consigliamo di utilizzare la pagina Insight sul sistema nella console Google Cloud .

Scalabilità automatica asimmetrica di sola lettura

Dopo aver abilitato il gestore della scalabilità automatica gestito, puoi anche abilitare e scalare automaticamente le repliche di sola lettura indipendentemente dalle altre repliche. La scalabilità automatica asimmetrica di sola lettura ti consente di controllare i limiti di capacità di calcolo e i target di utilizzo della CPU delle regioni di sola lettura in base al loro utilizzo. In questo modo si ottimizzano i pattern del traffico di lettura locale e si migliora l'efficienza in termini di costi. I seguenti parametri di configurazione della scalabilità automatica sono configurabili per ogni regione di replica di sola lettura:

  • Limite minimo di capacità di calcolo
  • Limite massimo di capacità di calcolo
  • Target di utilizzo ad alta priorità della CPU
  • Target di utilizzo totale della CPU
  • Disabilita CPU totale
  • Disabilita CPU ad alta priorità

Puoi abilitare la scalabilità automatica asimmetrica e configurare questi parametri creando una nuova istanza o aggiornando un'istanza esistente.

Per ogni replica, quando attivi la scalabilità automatica asimmetrica su un'istanza esistente, si applicano le seguenti regole:

  • Se la capacità di calcolo attuale della replica è compresa tra il minimo e il massimo della scalabilità automatica impostati per la regione, la capacità di calcolo della replica non cambia.
  • Se la capacità di calcolo attuale della replica è inferiore al minimo di scalabilità automatica impostato per la regione, la capacità di calcolo viene modificata in modo che corrisponda al minimo di scalabilità automatica.
  • Se la capacità di calcolo attuale della replica è superiore al massimo della scalabilità automatica impostato per la regione, la capacità di calcolo viene modificata in modo che corrisponda al massimo della scalabilità automatica.
  • Se entrambi i target CPU sono impostati a livello base e vuoi disattivare il target CPU a livello di replica, devi utilizzare esplicitamente disable_total_cpu_autoscaling o disable_high_priority_cpu_autoscaling.

Inoltre, quando utilizzi il gestore della scalabilità automatica asimmetrico, ti consigliamo di impostare lo stesso insieme di target in tutte le repliche per garantire un comportamento di scalabilità automatica coerente durante gli eventi di failover. Per saperne di più, consulta Considerazioni sul failover.

Problemi di failover

Per mantenere alta disponibilità e prestazioni durante un'interruzione, devi assicurarti che la tua istanza abbia capacità di calcolo sufficiente per gestire il traffico se una zona (per le istanze regionali) o un'intera regione (per le istanze dual-region e multiregionali) non è disponibile.

Quando utilizzi il gestore della scalabilità automatica asimmetrico, è fondamentale applicare gli stessi target di utilizzo a tutte le repliche. Configurazioni incoerenti possono causare colli di bottiglia della capacità durante un failover.

Considera il seguente scenario:

  • La replica A è configurata con target CPU sia ad alta priorità sia totali.
  • La replica B è configurata solo con un target CPU ad alta priorità.

Se un failover sposta il traffico dalla replica A alla replica B, la replica B viene scalata solo in base alle richieste ad alta priorità. Di conseguenza, le attività a media e bassa priorità (come i processi di sistema in background o le query analitiche) non attivano la scalabilità automatica necessaria sulla replica B, il che potrebbe portare a una carenza di attività o a un aumento della latenza per i carichi di lavoro non critici.

Per evitare problemi, ti consigliamo di:

  • Definisci sempre target di scalabilità automatica identici in tutte le repliche per garantire un comportamento di scalabilità automatica coerente. Ad esempio, considera uno scenario in cui configuri una replica di sola lettura con un target CPU ad alta priorità e un target CPU totale. Se la replica di lettura/scrittura imposta solo il target CPU ad alta priorità, durante il failover il traffico a priorità media e bassa non attiverà lo scalabilità automatica sulla replica di lettura/scrittura.
  • Assicurati che l'utilizzo target abbia capacità per i picchi di traffico che si verificano quando una replica deve assorbire improvvisamente il carico di un peer non riuscito.
  • Esamina periodicamente le metriche di Cloud Monitoring per verificare che le repliche secondarie abbiano la capacità necessaria per supportare il traffico combinato del deployment principale.

Controllo degli accessi

Per configurare lo scalatore automatico gestito, devi essere un principal in un ruolo che disponga delle autorizzazioni di creazione e aggiornamento per l'istanza o la partizione dell'istanza che stai configurando.

Monitoraggio

Spanner fornisce diverse metriche per aiutarti a capire il funzionamento del gestore della scalabilità automatica gestito durante lo scale up e lo scale down per soddisfare i requisiti del carico di lavoro. Le metriche possono anche aiutarti a valutare se le impostazioni sono ottimali per soddisfare i requisiti di carico di lavoro e costi della tua attività. Ad esempio, se noti che il numero di nodi per un'istanza o una partizione di istanza è spesso vicino al numero massimo di nodi, potresti prendere in considerazione l'aumento del numero massimo. Per scoprire di più sul monitoraggio delle risorse Spanner, consulta Monitorare le istanze con Cloud Monitoring.

Le seguenti metriche vengono visualizzate nei grafici nella pagina Approfondimenti di sistema nella console Google Cloud . Puoi anche visualizzare queste metriche utilizzando Cloud Monitoring.

  • spanner.googleapis.com/instance/autoscaling/min_node_count
  • spanner.googleapis.com/instance/autoscaling/max_node_count
  • spanner.googleapis.com/instance/autoscaling/min_processing_units
  • spanner.googleapis.com/instance/autoscaling/max_processing_units
  • spanner.googleapis.com/instance/autoscaling/high_priority_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/total_cpu_target_utilization
  • spanner.googleapis.com/instance/autoscaling/storage_target_utilization

Logging

Spanner crea un log di controllo degli eventi di sistema ogni volta che scala un'istanza o una partizione di istanza. Ogni log eventi contiene testo descrittivo e metadati relativi all'evento di scalabilità automatica.

Visualizzare i log nella pagina Insight sul sistema

Puoi visualizzare i log degli eventi di sistema del gestore della scalabilità automatica gestito nella consoleGoogle Cloud nella pagina Approfondimenti di sistema.

  1. Nella console Google Cloud , apri Spanner:

    Vai a Spanner

  2. Seleziona l'istanza o la partizione dell'istanza con scalabilità automatica abilitata.

  3. Nel menu di navigazione, fai clic su Approfondimenti di sistema.

  4. Nella pagina Insight sul sistema, vai alla metrica Capacità di calcolo.

  5. Fai clic su Visualizza log per aprire il pannello dei log.

    Il riquadro Log della capacità di calcolo mostra i log dell'ultima ora.

    Se la scalabilità automatica asimmetrica di sola lettura è attivata per l'istanza, il riepilogo del log fornisce una descrizione e la posizione di ogni modifica della capacità di calcolo di ogni replica. Ad esempio, Increased from 1 to 2 nodes in us-central1 to maintain high priority CPU utilization at 80%. Se non utilizzi lo scaling automatico asimmetrico, le informazioni sulla posizione non vengono fornite nel riepilogo dei log. Ad esempio, Increased from 9 to 10 nodes to maintain high priority CPU utilization at 65%. Puoi anche vedere quando i nodi vengono aumentati per mantenere il target di utilizzo totale della CPU.

Visualizzare i log utilizzando Esplora log

Puoi anche visualizzare i log utilizzando Esplora log:

  1. Nella console Google Cloud , apri Esplora log:

    Vai a Esplora log

  2. Seleziona il progetto Google Cloud appropriato.

  3. Nel campo Query, inserisci quanto segue:

     protoPayload.methodName="AutoscaleInstance"
    

    Puoi aggiungere la seguente query per filtrare ulteriormente i log:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstance"

    Per visualizzare i log delle query eseguite in una partizione dell'istanza non predefinita, inserisci:

    resource.type="spanner_instance"
    resource.labels.instance_id=INSTANCE_ID
    resource.labels.project_id=PROJECT_ID
    logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="AutoscaleInstancePartition"
  4. Fai clic su Esegui query.

Il riquadro Risultati delle query mostra i log dell'ultima ora.

Per saperne di più sulla visualizzazione dei log, consulta Cloud Logging. Puoi configurare avvisi basati su log nella pagina Esplora log di Google Cloud o utilizzando l'API Cloud Monitoring.

Passaggi successivi