Configurare 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.

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 senza stato, a volte la funzione inizializza l'ambiente di esecuzione da zero, il che viene chiamato avvio a freddo. Il completamento degli avvii a freddo può richiedere molto tempo, pertanto ti consigliamo di impostare un numero minimo di istanze di funzioni Cloud Run se la tua applicazione è sensibile 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à, le risorse come le connessioni a database aperte potrebbero essere persistenti nel caso in cui sia necessario gestire un'altra richiesta. 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, soprattutto se è sensibile 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 gestito 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 tempo di inattività di queste istanze. Consulta la sezione Prezzi.

Impostazione e eliminazione dei limiti minimi di istanze

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

Impostazione di limiti minimi per le istanze

Puoi impostare un limite di istanze minime 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 Cloud Run nella console Google Cloud:
    Vai alla pagina delle funzioni 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 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 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 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 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.

Annullamento dei limiti minimi di istanze

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 istanze di una funzione:

  1. Vai alla pagina delle funzioni Cloud Run nella console Google Cloud:
    Vai alla pagina delle 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 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

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 deselezionato.

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.