Questa pagina descrive il funzionamento del gestore della scalabilità automatica gestito e descrive i costi e quando utilizzi il gestore della scalabilità automatica gestito. Fornisce inoltre informazioni per capire 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. La funzionalità del gestore della scalabilità automatica gestita reagisce alle modifiche del carico di lavoro o delle esigenze di archiviazione dell'istanza, man mano che il carico aumenta o diminuisce. La scalabilità automatica gestita effettua lo scale up, aggiungendo capacità di calcolo all'istanza, oppure fare lo scale down, rimuovendo la capacità di calcolo dall'istanza.
Quando configuri il gestore della scalabilità automatica gestito, puoi utilizzare entrambe le unità di elaborazione piccole istanze o nodi per istanze di grandi dimensioni. 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 quantità di calcolo è richiesta la capacità massima in base a quanto segue:
- Target di utilizzo ad alta priorità della CPU
- Target di utilizzo dello spazio di archiviazione
- Limite minimo
- Limite massimo
Ogni dimensione di scalabilità genera una dimensione consigliata dell'istanza e Spanner utilizza automaticamente quello più alto. Ciò significa che, Ad esempio, se l'istanza ha bisogno di 10 nodi per soddisfare l'utilizzo dello spazio di archiviazione ma 12 nodi per soddisfare il target di utilizzo della CPU, Spanner consente di scalare l'istanza fino a 12 nodi.
Man mano che la quantità di capacità di calcolo cambia, Spanner continua a e ottimizzare l'archiviazione. Ribilancia i dati tra tutti i server per garantire che il traffico sia distribuito uniformemente e nessun singolo server sia sovraccarico. Per ulteriori informazioni, consulta la sezione Limitazioni.
Se il gestore della scalabilità automatica gestito scala un'istanza fino al limite massimo, ma il carico di lavoro continua a causare un utilizzo maggiore della CPU rispetto del target, le richieste dei carichi di lavoro potrebbero avere latenza o errore. Se un'istanza fa lo scale up fino alla destinazione massima di capacità di calcolo ma il carico di lavoro ha bisogno di più spazio di archiviazione del limite massimo, delle richieste possono non andare a buon fine. Per scoprire se viene raggiunto il target massimo, puoi visualizzare i log eventi di sistema del gestore della scalabilità automatica gestiti nella console Google Cloud sul Pagina Approfondimenti sul sistema. Per ulteriori informazioni, consulta i limiti di spazio di archiviazione.
Quando Spanner riduce le dimensioni di un'istanza, rimuove la capacità di calcolo a un ritmo più lento rispetto allo scale up, per ridurre l'impatto sulla latenza.
Costi
I costi totali di Spanner potrebbero essere inferiori o superiori a seconda configurato l'istanza Spanner prima di abilitare il gestore della scalabilità automatica gestito e i limiti impostati per il gestore della scalabilità automatica gestito.
Ad esempio, se prima configuravi manualmente Spanner di avere capacità di calcolo sufficiente per gestire picchi di carichi di lavoro in qualsiasi momento, i tuoi costi con il gestore della scalabilità automatica gestito potrebbero essere più bassi e la capacità di calcolo quando l'istanza è inattiva.
Se prima configuravi manualmente l'istanza Spanner in modo da avere capacità di calcolo sufficiente per carichi di lavoro medi e peggiora le prestazioni complessive Quando il traffico del carico di lavoro aumenta, i costi relativi al gestore della scalabilità automatica gestito potrebbe essere superiore perché il gestore della scalabilità automatica gestito potrebbe aumentare la capacità di calcolo quando l'istanza è occupata. In questo modo, però, gli utenti avranno più prestazioni costanti.
Puoi limitare il costo massimo della tua istanza Spanner impostando il limite massimo di nodi o unità di elaborazione al livello desiderato di Google Cloud.
Limitazioni
Le seguenti limitazioni si applicano quando attivi o modifichi le impostazioni di scalabilità automatica su un'istanza:
- Non puoi spostare un'istanza quando sia abilitata la funzionalità di scalabilità automatica gestita. Devi prima disattivare l'impostazione del gestore della scalabilità automatica e poi spostare l'istanza. Dopo aver spostato l'istanza, puoi riattivare lo scalatore automatico gestito.
- Devi impostare il limite minimo per l'istanza di scalabilità automatica su 1000 o superiore, oppure 1 nodo o superiore.
- Quando attivi la scalabilità automatica su un'istanza esistente, la capacità dell'istanza esistente può essere inferiore al valore limite minimo che configuri sul gestore della scalabilità automatica gestito. Tuttavia, lo scale up dell'istanza viene eseguito automaticamente fino al valore minimo configurato quando lo avvii. Ad esempio, se la tua istanza ha un nodo ma imposta il valore minimo a due nodi. Quando avvii l'istanza, fa automaticamente lo scale up fino a 2 nodi.
Parametri gestore della scalabilità automatica gestito
Quando crei o modifichi un'istanza e scegli di attivare l'autoscalabilità gestita, definisci i valori mostrati nella tabella seguente.
Parametro | Descrizione |
---|---|
Target di utilizzo ad alta priorità della CPU | Una percentuale della capacità della CPU ad alta priorità dell'istanza. Questo valore deve essere compreso tra 10% e 90%. Quando l'utilizzo della CPU da parte di un'istanza supera della destinazione impostata, Spanner aggiunge immediatamente e la capacità di archiviazione dell'istanza all'istanza. Quando l'utilizzo della CPU è notevolmente inferiore a del target, Spanner rimuove la capacità di calcolo. Come guida, vedi Determina il target di utilizzo della CPU. |
Target di utilizzo dello spazio di archiviazione | La percentuale di spazio di archiviazione su un nodo che puoi utilizzare prima Spanner fa lo scale up. Questo target garantisce che tu abbia sempre capacità di calcolo sufficiente per gestire le fluttuazioni della quantità di dati archiviati. Questo valore deve essere compreso tra 10 e 99%. Per indicazioni, vedi Determina il target di utilizzo dello spazio di archiviazione. |
Limite minimo | La quantità minima di capacità di calcolo a cui Spanner riduce l'istanza. Il valore minimo non può essere inferiore al 10% del valore impostato per il limite massimo. Ad esempio: se il limite massimo è di 40 nodi, il limite minimo deve essere almeno 4 nodi. Il requisito del 10% è un limite fisso. Per consulta Determinazione del limite minimo. |
Limite massimo | La massima quantità di capacità di calcolo scalabile di Spanner dell'istanza fino a. Per i nodi, questo valore deve essere maggiore di 1 nodo (oppure 1000 unità di elaborazione) e uguale o superiore al numero minimo di nodi o unità di elaborazione. Il valore non può essere superiore a 10 volte il valore numero scelto per la quantità minima di capacità di calcolo. Questo requisito di 10 volte è un limite rigido. Per indicazioni, vedi Determina il limite massimo. |
Configurare l'autoscaler gestito
Questa sezione descrive come determinare quali numeri scegliere per i parametri di scalabilità automatica gestita. Dopo aver impostato i valori iniziali, monitorare l'istanza e modificare i numeri se necessario.
Determina il target di utilizzo della CPU
Il target ottimale per l'istanza dipende dai requisiti di latenza e throughput del carico di lavoro. Per visualizzare i nostri suggerimenti per il massimo utilizzo della CPU per le configurazioni di istanze a singola regione, a due e più regioni, consulta Avvisi di utilizzo elevato della CPU.
In generale, se noti una latenza inaccettabile, devi abbassare le di utilizzo del modello.
Determina il target di utilizzo dello spazio di archiviazione
Per la scalabilità automatica, il target di utilizzo dello spazio di archiviazione è espresso in percentuale per nodo. Per le istanze con 1 nodo (1000 unità di elaborazione) o più, le dimensioni dello spazio di archiviazione sono limitate a 4 TB per nodo.
Determinare il limite massimo
Il valore che scegli come quantità massima di capacità di calcolo è uguale a la quantità di capacità di calcolo necessaria all'istanza per gestire il traffico più intenso, anche se non prevedi di raggiungere quel volume. nel tempo. Spanner non esegue mai l'upgrade a una capacità di calcolo superiore a quella di cui ha bisogno. Puoi anche pensare a questo numero come alla più alta quantità di per la capacità che si è disposti a pagare. Consulta Parametri del gestore della scalabilità automatica per i dettagli sui valori accettati.
Il limite massimo deve consentire sia il target di utilizzo della CPU sia il target di utilizzo dello spazio di archiviazione impostato per la scalabilità automatica.
Se stai modificando un'istanza da allocazione manuale a gestita la scalabilità automatica, trova la massima quantità di capacità di calcolo degli ultimi 1-2 mesi. Numero massimo del gestore della scalabilità automatica gestito dovrebbe essere almeno così alto.
Se stai abilitando il gestore della scalabilità automatica gestito per una nuova istanza, consulta di altre istanze e utilizzarle come guida quando imposti limite massimo.
Se hai un nuovo carico di lavoro e non sai come crescerà, può stimare la quantità di capacità di calcolo necessaria per soddisfare il target di utilizzo dello spazio di archiviazione integrato e regolarlo in un secondo momento.
Devi anche sapere quanta quota rimane sul tuo nodo perché il ridimensionamento automatico gestito non può configurare l'istanza in modo che abbia una capacità di calcolo superiore alla quota. Per ulteriori informazioni, consulta Limiti dei nodi.
Quando l'istanza è attiva e in esecuzione con la scalabilità automatica abilitata, monitora l'istanza e assicurati che il valore scelto il limite massimo è almeno pari a quello consigliato per la CPU target e il limite consigliato per il target di archiviazione.
Determinare il limite minimo
Imposta un limite minimo per il gestore della scalabilità automatica gestito per garantire Fare lo scale down dell'istanza Spanner può essere eseguito economicamente convenienti. Spanner impedisce automaticamente che il numero di nodi scenda al di sotto del numero minimo necessario per mantenere i target di utilizzo della CPU e dello spazio di archiviazione.
Il valore minimo minimo consentito dal gestore della scalabilità automatica gestito è 1 nodo o 1000 le unità di elaborazione. Quando attivi la scalabilità automatica per un'istanza esistente con una capacità inferiore al valore minimo configurato per il gestore della scalabilità automatica, l'istanza viene scalata automaticamente fino a questo valore minimo al momento dell'avvio.
Dopo aver avviato l'istanza con scalabilità automatica gestita, devi eseguire test iniziale per verificare che funzioni con le dimensioni minime impostate. Dovresti testare periodicamente per garantire che continui a funzionare come previsto.
Per ulteriori informazioni sui valori accettati, consulta Parametri del gestore della scalabilità automatica gestiti in questo documento.
In molti casi è consigliabile impostare il valore minimo su più di uno. Scegli un'opzione numero maggiore o aumenta il limite minimo per le seguenti situazioni:
- C'è un evento di picco imminente quando prevedi che il traffico aumentare temporaneamente e assicurarti di avere risorse di calcolo sufficienti e la capacità di archiviazione.
- La tua applicazione invia traffico picchi. Quando aggiungi nuova capacità di calcolo, Spanner viene ribilanciato automaticamente per utilizzare i nuovi nodi le unità di elaborazione. Poiché questa procedura può richiedere diversi minuti, ti consigliamo di adottare un approccio conservativo e di scegliere un valore minimo più elevato. In questo modo, l'istanza si adatta perfettamente ai picchi.
- Aumenta la capacità di calcolo massima. Il valore minimo deve sempre essere pari o inferiore al dieci percento del target di capacità di calcolo massima. Ad esempio, se impostate il numero massimo di nodi su
30
, dovete impostare il numero minimo di nodi su almeno3
.
Se aumenti il valore della capacità di calcolo minima su un'istanza, Spanner prova immediatamente a scalare l'istanza al nuovo minimo. I vincoli standard . Quando hai esaurito la quota, richiedi di modificare il gestore della scalabilità automatica gestito non va a buon fine e la configurazione non viene aggiornata.
Flag e limitazioni dei parametri di Google Cloud CLI
Quando utilizzi Google Cloud CLI per configurare il gestore della scalabilità automatica gestito, sono disponibili e i flag obbligatori che devi impostare. Esistono flag facoltativi che puoi utilizzare per indicare se vuoi utilizzare nodi o unità di elaborazione. Per ulteriori informazioni sulla creazione di una nuova istanza con il gestore della scalabilità automatica gestito o sull'attivazione della scalabilità automatica gestita su un'istanza esistente, consulta quanto segue:
I seguenti flag sono obbligatori quando attivi il gestore della scalabilità automatica gestito sul tuo istanza:
autoscaling-high-priority-cpu-percent
autoscaling-storage-percent
Se scegli di utilizzare i nodi, devi utilizzare anche entrambi i flag riportati di seguito quando attivi l'autoscalabilità gestita:
autoscaling-min-nodes
autoscaling-max-nodes
Se scegli di utilizzare le unità di elaborazione, devi utilizzare anche entrambi i seguenti vengono segnalati 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 con Google Cloud CLI:
- Non puoi utilizzare il flag
--nodes
con--autoscaling-min-nodes
o--autoscaling-max-nodes
flag perché l'uso di--nodes
imposta una specifica di nodi al posto di un intervallo di scalabilità. Allo stesso modo, non puoi utilizzare Flag--processing-units
conautoscaling-min-processing-units
oautoscaling-max-processing-units
flag perché hai utilizzato--processing-units
imposta un numero specifico di unità di elaborazione rispetto a un intervallo di scalabilità. - Non puoi combinare i flag per i nodi e le unità di elaborazione. Per
Ad esempio, non puoi utilizzare
--autoscaling-max-nodes
conautoscaling-min-processing-units
.
Ottimizzazione delle impostazioni
Tieni d'occhio l'utilizzo della capacità di calcolo e, se necessario, modifica le impostazioni, in particolare dopo aver attivato per la prima volta l'autoscalatore gestito. Ti consigliamo di utilizzare la pagina Approfondimenti sul sistema nella console Google Cloud.
Controllo degli accessi
Per configurare il gestore della scalabilità automatica gestito, devi essere un entità in un ruolo che dispone di autorizzazioni di creazione e aggiornamento per l'istanza che stai configurando.
Monitoraggio
Spanner fornisce diverse metriche per aiutarti a capire quanto bene funziona il 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 costo e carico di lavoro della tua attività. Ad esempio, se noti che il numero di nodi per un'istanza è spesso vicino al numero massimo di nodi, potresti prendere in considerazione l'aumento del valore massimo. Per scoprire di più su il monitoraggio delle risorse Spanner, Monitora le istanze con Cloud Monitoring.
Le seguenti metriche sono visualizzati nei grafici nella sezione Approfondimenti sul sistema nella console Google Cloud. Puoi visualizzare queste metriche anche 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/storage_target_utilization
Logging
Spanner crea un audit log degli eventi di sistema ogni volta che scala una in esecuzione in un'istanza Compute Engine.
Puoi visualizzare i log eventi di sistema del gestore della scalabilità automatica gestiti in Console Google Cloud nella pagina Approfondimenti sul sistema.
Puoi anche visualizzare i log utilizzando Esplora log:
Nella console Google Cloud, apri Esplora log:
Seleziona il progetto Google Cloud appropriato.
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/span-cloud-testing/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="AutoscaleInstance"
Fai clic su Esegui query.
Il riquadro Risultati delle query mostra i log dell'ultima ora.
Per scoprire di più sulla visualizzazione dei log, consulta Cloud Logging. Puoi configurare avvisi basati su log nella pagina Esplora log in Google Cloud oppure utilizzando API Cloud Monitoring.
Passaggi successivi
- Scopri come creare un'istanza
- Scopri come modificare un'istanza per aggiungere la scalabilità automatica o modificarne le impostazioni
- Scopri come passare dall'utilizzo della scalabilità automatica alla scalabilità manuale per un'istanza