Scalabilità basata sull'utilizzo della CPU


La forma più semplice di scalabilità automatica è gruppo di istanze gestite in base all'utilizzo della CPU da parte delle istanze.

Puoi anche scalare automaticamente un gruppo di istanze gestite in base capacità di gestione del bilanciamento del carico, Metriche di monitoraggio, o programmazioni.

Prima di iniziare

  • Consulta le limitazioni del gestore della scalabilità automatica.
  • Scopri di più sui fondamenti del gestore della scalabilità automatica.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Scalabilità basata sull'utilizzo della CPU

Puoi scalare automaticamente in base all'utilizzo medio della CPU da parte di un gruppo di istanze gestite. L'utilizzo di questo criterio indica al gestore della scalabilità automatica di raccogliere la CPU il massimo utilizzo delle istanze nel gruppo e determinare se su larga scala. Imposta l'utilizzo target della CPU che il gestore della scalabilità automatica deve mantenere il gestore della scalabilità automatica può mantenere quel livello.

Il gestore della scalabilità automatica tratta il livello di utilizzo della CPU target come una frazione del l'utilizzo medio di tutte le vCPU nel tempo nel gruppo di istanze. Se la media delle vCPU totali supera l'utilizzo target, e aggiunge altre istanze VM. Se l'utilizzo medio delle vCPU totali è rispetto all'utilizzo target, il gestore della scalabilità automatica rimuove le istanze. Ad esempio: l'impostazione di un utilizzo target di 0,75 indica al gestore della scalabilità automatica di mantenere un del 75% tra tutte le vCPU nel gruppo di istanze.

Puoi anche scalare in base all'utilizzo previsto della CPU. Per ulteriori informazioni, e per vedere se questa soluzione è adatta al tuo carico di lavoro, consulta Scalabilità basata sulle previsioni.

Abilita la scalabilità automatica basata sull'utilizzo della CPU

Console

  1. Nella console, vai alla pagina Gruppi di istanze.

    Vai a Gruppi di istanze

  2. Se hai un gruppo di istanze, selezionalo e fai clic su Modifica. Se Se non disponi di un gruppo di istanze, fai clic su Crea gruppo di istanze.

  3. Se non esiste una configurazione di scalabilità automatica, in Scalabilità automatica, fai clic su Configura la scalabilità automatica.

  4. In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze a gruppo per abilitare la scalabilità automatica.

  5. Specifica il numero minimo e massimo di istanze in cui vuoi che vengano gestore della scalabilità automatica per creare in questo gruppo.

  6. Nella sezione Metriche di scalabilità automatica, se un utilizzo CPU esistente metrica non esiste ancora, aggiungine una:

    1. Fai clic su Aggiungi metrica.
    2. In Tipo di metrica, seleziona Utilizzo CPU.
    3. Inserisci la metrica Utilizzo CPU target desiderata. Questo valore è considerati come percentuali. Ad esempio, per il 75% di utilizzo della CPU, inserisci 75.
    4. In Scalabilità automatica predittiva, seleziona Off. Per scoprire di più su scalabilità automatica predittiva e se è adatta al tuo carico di lavoro, vedi Scalabilità basata sulle previsioni.
    5. Fai clic su Fine.
  7. Puoi utilizzare il Periodo di inizializzazione per indicare gestore della scalabilità automatica: il tempo necessario per l'inizializzazione della tua applicazione. Specificare un periodo di inizializzazione preciso migliora le decisioni del gestore della scalabilità automatica. Ad esempio, durante lo scale out, il gestore della scalabilità automatica ignora i dati provenienti dalle VM che sono ancora in fase di inizializzazione, perché potrebbero non rappresentare il normale utilizzo della tua applicazione. Il periodo di inizializzazione predefinito è di 60 secondi.

  8. Fai clic su Salva.

gcloud

Utilizza la set-autoscaling per abilitare la scalabilità automatica per un gruppo di istanze gestite. Ad esempio: Il comando seguente crea un gestore della scalabilità automatica con CPU target massimo del 60%. Insieme al parametro --target-cpu-utilization, È richiesto anche il parametro --max-num-replicas quando crei un gestore della scalabilità automatica:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --max-num-replicas 20 \
    --target-cpu-utilization 0.60 \
    --cool-down-period 90

Puoi utilizzare il flag --cool-down-period per impostare il periodo di inizializzazione, che indica gestore della scalabilità automatica: il tempo necessario per l'inizializzazione della tua applicazione. Specificare un periodo di inizializzazione preciso migliora le decisioni del gestore della scalabilità automatica. Ad esempio, durante lo scale out, il gestore della scalabilità automatica ignora i dati provenienti dalle VM che sono ancora in fase di inizializzazione, perché potrebbero non rappresentare il normale utilizzo della tua applicazione. Il periodo di inizializzazione predefinito è di 60 secondi.

Facoltativamente, puoi abilitare la scalabilità automatica predittiva per fare lo scale out prima del carico previsto. Per scoprire se la scalabilità automatica predittiva è adatta per i carichi di lavoro, consulta Scalabilità basata sulle previsioni.

Puoi verificare che la scalabilità automatica sia abilitata utilizzando il metodo Sottocomando instance-groups managed describe, che descrive gruppo di istanze gestite corrispondente e fornisce informazioni funzionalità di scalabilità automatica per quel gruppo di istanze:

gcloud compute instance-groups managed describe example-managed-instance-group

Per un elenco dei comandi e dei flag disponibili per gcloud, consulta la Riferimento gcloud.

REST

Per creare un gestore della scalabilità automatica, utilizza Metodo autoscalers.insert per un gruppo di istanze gestite a livello di zona Metodo regionAutoscalers.insert per un gruppo di istanze gestite a livello di regione.

Nell'esempio seguente viene creato un gestore della scalabilità automatica per un gruppo di istanze gestite a livello di zona:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

Il corpo della richiesta deve contenere name, target e autoscalingPolicy campi. autoscalingPolicy deve definire cpuUtilization e maxNumReplicas.

Puoi utilizzare il campo coolDownPeriodSec per impostare il periodo di inizializzazione, che indica gestore della scalabilità automatica: il tempo necessario per l'inizializzazione della tua applicazione. Specificare un periodo di inizializzazione preciso migliora le decisioni del gestore della scalabilità automatica. Ad esempio, durante lo scale out, il gestore della scalabilità automatica ignora i dati provenienti dalle VM che sono ancora in fase di inizializzazione, perché potrebbero non rappresentare il normale utilizzo della tua applicazione. Il periodo di inizializzazione predefinito è di 60 secondi.

Facoltativamente, puoi abilitare la scalabilità automatica predittiva per fare lo scale out prima del carico previsto. Per scoprire se la scalabilità automatica predittiva è adatta per i carichi di lavoro, consulta Scalabilità basata sulle previsioni.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Per saperne di più sull'abilitazione della scalabilità automatica basata sull'utilizzo della CPU, completa il tutorial, Utilizzo della scalabilità automatica per app a scalabilità elevata.

In che modo il gestore della scalabilità automatica gestisce l'utilizzo intensivo della CPU

Durante i periodi di utilizzo intensivo della CPU, se l'utilizzo è vicino a 100%, il gestore della scalabilità automatica stima che il gruppo potrebbe essere sovraccarico. In questi casi, il gestore della scalabilità automatica aumenta il numero fino al 50%.

Passaggi successivi