Configura il numero minimo di istanze

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

Le funzioni Cloud Run si ridimensionano creando nuove istanze della funzione. Ognuna di queste istanze può gestire una sola richiesta alla volta, pertanto picchi elevati nel volume delle richieste spesso causano tempi di attesa più lunghi man mano che vengono create nuove istanze per gestire la domanda.

Poiché le funzioni sono stateless, la tua funzione a volte inizializza dell'ambiente di esecuzione da zero, detto avvio a freddo. Avvii a freddo può richiedere molto tempo, quindi consigliamo di impostare numero minimo di istanze di funzioni Cloud Run se l'applicazione è sensibili alla latenza.

Istanze inattive e avvii a freddo

Per ridurre al minimo l'impatto degli avvii a freddo, le funzioni Cloud Run tentano di mantenere inattive le istanze di funzione per un periodo di tempo non specificato dopo aver gestito una richiesta. Durante questo tempo di inattività, risorse come poiché è possibile mantenere le connessioni di database aperte nel caso in cui un'altra richiesta necessitasse di da gestire. Le istanze lasciate inattive in questo modo vengono conteggiate ai fini del limite di istanze massime per la funzione, ma non ti viene addebitato alcun costo per questo tempo di inattività.

Questo comportamento integrato potrebbe non essere sufficiente per la tua applicazione, in particolare se sono sensibili alla latenza. L'impostazione esplicita di un numero minimo di istanze può aiutarti ulteriormente 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 di istanze, queste non sono considerate attive a meno che non abbiano gestito traffico di recente. Ad esempio, ciò significa che se di recente una funzione non ha fornito traffico, la metrica "Istanze attive" potrebbe indicare che non sono attive istanze, anche se è stato impostato un valore per le istanze minime.

Tieni inoltre presente che quando imposti un numero minimo di istanze, ti viene addebitato il costo 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. Ciascuna ha una propria impostazione del numero minimo di istanze.

Impostazione di limiti minimi per le istanze

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 delle funzioni di Cloud Run nella Console Google Cloud:
    Vai alla pagina delle funzioni di Cloud Run

  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 su la scheda Runtime.

  5. Nel campo Numero minimo di istanze in 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 istanze per una funzione esistente:

  1. Vai alla pagina Funzioni Cloud Run nella console Google Cloud:
    Vai alla pagina Funzioni Cloud Run

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

  3. Fai clic su Modifica.

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

  5. Nel campo Numero minimo di istanze in 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 seguente 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ò superare 1000.

Il limite minimo di istanze della funzione è impostato.

Cancellazione dei limiti minimi di istanza in corso...

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

Console

Per cancellare il limite minimo di istanza di una funzione:

  1. Vai alla pagina delle funzioni di Cloud Run nella Console Google Cloud:
    Vai alla pagina delle funzioni di Cloud Run

  2. Fai clic sul nome di una funzione esistente per visualizzarne la Pagina Dettagli della funzione.

  3. Fai clic su Modifica.

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

  5. Nel campo Numero minimo di istanze in 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.

Ricevere consigli per impostare il numero minimo di istanze

Il servizio di consigli fornisce automaticamente consigli per le funzioni di cui è stato eseguito il deployment che potrebbero trarre vantaggio dall'impostazione di un numero minimo di istanze.