Configura il numero minimo di istanze (1ª generazione)

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

Cloud Functions scala creando nuove istanze della funzione. Ciascuna di queste istanze può gestire una sola richiesta alla volta, quindi grandi picchi nel volume di richieste spesso causano tempi di attesa più lunghi, in quanto vengono create nuove istanze per gestire la domanda.

Poiché le funzioni sono stateless, la tua funzione a volte inizializza l'ambiente di esecuzione da zero, ovvero un avvio a freddo. Il completamento degli avvii a freddo può richiedere molto tempo, perciò 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 di funzione inattive per un periodo di tempo non specificato dopo la gestione di una richiesta. Durante questo tempo di inattività, risorse come le connessioni di database aperte potrebbero essere rese persistenti nel caso in cui sia necessario gestire un'altra richiesta. Le istanze mantenute inattive in questo modo vengono conteggiate ai fini del limite massimo di istanze per la funzione, ma questo tempo di inattività non viene fatturato.

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 ulteriormente a evitare 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 di istanze, queste non vengono considerate attive, a meno che non abbiano gestito traffico di recente. Ad esempio, ciò significa che se una funzione non ha pubblicato traffico di recente, la metrica "Istanze attive" potrebbe mostrare che non ci sono istanze attive, 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à di queste istanze (vedi 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. Fai clic su Avanti.

  7. Fai clic su Esegui il deployment.

Per impostare un limite minimo di istanza 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. Fai clic su Avanti.

  7. Fai clic su Esegui il deployment.

gcloud

Per impostare un limite minimo di istanze, esegui il comando seguente:

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 superiore a 1000.

Il limite minimo di istanza della funzione è impostato.

Cancellazione dei limiti minimi di istanza in corso...

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 istanza 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. Fai clic su Avanti.

  7. Fai clic su Esegui il deployment.

gcloud

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

gcloud functions deploy FUNCTION_NAME --clear-min-instances

Il limite minimo di istanza della funzione è stato cancellato.

Recupero dei suggerimenti per impostare il numero minimo di istanze

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