Configura il numero minimo di istanze

Puoi evitare gli avvii a freddo per la tua applicazione e ridurre la latenza dell'applicazione impostando un numero minimo di istanze.

Cloud Functions scala creando nuove istanze della tua funzione. Ognuna di queste istanze può gestire una sola richiesta alla volta, per cui picchi di volume di richieste spesso causano tempi di attesa più lunghi man mano che vengono create nuove istanze per gestire la domanda.

Poiché le funzioni sono stateless, a volte la funzione inizializza l'ambiente di esecuzione da zero, operazione chiamata avvio a freddo. Il completamento degli avvii a freddo può richiedere molto tempo, perciò ti consigliamo di impostare un numero minimo di istanze di Cloud Functions se la tua applicazione è sensibile alla latenza.

Istanze inattive e avvii a freddo

Per ridurre al minimo l'impatto degli avvii a freddo, Cloud Functions tenta di mantenere le istanze della funzione inattive per un periodo di tempo non specificato dopo la gestione di una richiesta. Durante questo tempo di inattività, risorse come le connessioni ai database aperte potrebbero essere salvate in modo permanente nel caso in cui sia necessario gestire un'altra richiesta. Le istanze mantenute inattive in questo modo incidono sul limite massimo di istanze per la funzione, ma questo tempo di inattività non ti viene addebitato.

Questo comportamento integrato potrebbe non essere sufficiente per la tua applicazione, in particolare se è sensibile alla latenza. L'impostazione esplicita di un numero minimo di istanze può aiutarti a evitare gli avvii a freddo e a ridurre la latenza dell'applicazione.

Tieni presente che, quando le istanze vengono mantenute inattive perché è stato impostato un numero minimo, queste istanze non vengono considerate attive, a meno che non abbiano gestito traffico di recente. Ad esempio, se una funzione non ha pubblicato traffico di recente, la metrica "Istanze attive" potrebbe indicare che nessuna istanza è attiva, anche se è stato impostato un valore per il numero minimo di istanze.

Tieni inoltre presente che, quando imposti un numero minimo di istanze, ti viene addebitato il tempo di inattività delle istanze. Consulta Prezzi.

Impostazione e cancellazione dei limiti minimi di istanza

Puoi impostare un numero minimo di istanze per una funzione durante il deployment. Ogni funzione ha la propria impostazione del numero minimo di istanze.

Impostazione dei limiti minimi di istanza

Puoi impostare un limite minimo di istanze utilizzando Google Cloud CLI o la console Google Cloud.

Console

Per impostare un limite minimo di istanze per una nuova funzione:

  1. Per creare una nuova funzione, vai alla pagina Cloud Functions nella console Google Cloud:
    Vai alla pagina Cloud Functions

  2. Fai clic su Crea funzione.

  3. Compila i campi obbligatori per la funzione.

  4. Espandi la sezione Runtime, build... alla fine della pagina e fai clic sulla scheda Runtime.

  5. Nel campo Numero minimo di istanze della sezione Scalabilità automatica, inserisci un numero maggiore o uguale a 1.

  6. Tocca Avanti.

  7. Fai clic su Esegui il deployment.

Per impostare un limite minimo di istanze per una funzione esistente:

  1. Vai alla pagina Cloud Functions nella console Google Cloud:
    Vai alla pagina Cloud Functions

  2. Fai clic sul nome di una funzione esistente per accedere alla relativa pagina Dettagli funzione.

  3. Fai clic su Modifica.

  4. Espandi la sezione Runtime, build... alla fine della pagina e fai clic sulla scheda Runtime.

  5. Nel campo Numero minimo di istanze della sezione Scalabilità automatica, inserisci un numero maggiore o uguale a 1.

  6. Tocca Avanti.

  7. Fai clic su Esegui il deployment.

gcloud

Per impostare un limite minimo di istanze, esegui questo comando:

gcloud functions deploy FUNCTION_NAME \
--min-instances MIN_INSTANCE_LIMIT

Sostituisci quanto segue:

  • FUNCTION_NAME: il nome della funzione.

  • MIN_INSTANCE_LIMIT: il numero da impostare come limite minimo di istanze non può essere maggiore di 1000.

Il limite minimo di istanze della funzione è impostato.

Cancellazione dei limiti minimi di istanza

Puoi cancellare o rimuovere un limite minimo di istanze utilizzando Google Cloud CLI o la console Google Cloud.

Console

Per cancellare il limite minimo di istanze di una funzione:

  1. Vai alla pagina Cloud Functions nella console Google Cloud:
    Vai alla pagina Cloud Functions

  2. Fai clic sul nome di una funzione esistente per accedere alla relativa pagina Dettagli funzione.

  3. Fai clic su Modifica.

  4. Espandi la sezione Runtime, build... alla fine della pagina e fai clic sulla scheda Runtime.

  5. Nel campo Numero minimo di istanze della sezione Scalabilità automatica, inserisci 0.

  6. Tocca Avanti.

  7. Fai clic su Esegui il deployment.

gcloud

Utilizza il flag --clear-min-instances al momento del deployment:

gcloud functions deploy FUNCTION_NAME --clear-min-instances

Il limite minimo di istanze della funzione è stato cancellato.

Recupero dei suggerimenti per impostare il numero minimo di istanze

Il servizio per suggerimenti fornisce automaticamente suggerimenti per le funzioni di cui è stato eseguito il deployment che potrebbero trarre vantaggio da un numero minimo di istanze impostato.