Per i servizi Cloud Run, ogni revisione viene scalata automaticamente in base al numero di istanze necessarie per gestire tutte le richieste in entrata.
Quando più istanze elaborano le richieste, vengono utilizzate più CPU e memoria, con un conseguente aumento dei costi.
Per offrirti un maggiore controllo, Cloud Run fornisce un'impostazione Numero massimo di richieste in parallelo per istanza che specifica il numero massimo di richieste che possono essere elaborate contemporaneamente da una determinata istanza.
Numero massimo di richieste in parallelo per istanza
Puoi configurare il numero massimo di richieste in parallelo per istanza. Per impostazione predefinita, ogni istanza Cloud Run può ricevere fino a 80 richieste contemporaneamente. Puoi aumentare questo valore fino a un massimo di 1000.
Sebbene sia consigliabile utilizzare il valore predefinito, se necessario puoi
ridurre la concorrenza massima. Ad esempio, se il codice non può elaborare richieste parallele, imposta la concorrenza su 1
.
Il valore di concorrenza specificato è un valore massimo e Cloud Run potrebbe non inviare così tante richieste a una determinata istanza se la CPU dell'istanza è già molto utilizzata.
Il seguente diagramma mostra in che modo l'impostazione del numero massimo di richieste in parallelo per istanza influisce sul numero di istanze necessarie per gestire le richieste in parallelo in arrivo:
Quando limitare la concorrenza massima a una richiesta alla volta.
Puoi limitare la concorrenza in modo che venga inviata una sola richiesta alla volta a ogni istanza in esecuzione. Ti consigliamo di farlo nei casi in cui:
- Ogni richiesta utilizza la maggior parte della CPU o della memoria disponibile.
- L'immagine del contenitore non è progettata per gestire più richieste contemporaneamente, ad esempio se il contenitore si basa su uno stato globale che due richieste non possono condividere.
Tieni presente che una concorrenza di 1
potrebbe influire negativamente sul rendimento del scaling, perché molte istanze dovranno essere avviate per gestire un picco di richieste in entrata.
Case study
Le seguenti metriche mostrano un caso d'uso in cui 400 client inviano 3 richieste al secondo a un servizio Cloud Run impostato su un numero massimo di richieste in parallelo per istanza di 1. La linea verde superiore mostra le richieste nel tempo, mentre la linea blu inferiore mostra il numero di istanze avviate per gestire le richieste.
Le seguenti metriche mostrano 400 client che inviano 3 richieste al secondo a un servizio Cloud Run impostato su un numero massimo di richieste in parallelo per istanza pari a 80. La riga superiore verde mostra le richieste nel tempo, mentre la riga blu inferiore mostra il numero di istanze avviate per gestire le richieste. Tieni presente che sono necessarie molte meno istanze per gestire lo stesso volume di richieste.
Passaggi successivi
Per gestire il numero massimo di richieste in parallelo per istanza dei tuoi servizi Cloud Run, consulta Impostare il numero massimo di richieste in parallelo per istanza.
Per ottimizzare l'impostazione del numero massimo di richieste in parallelo per istanza, consulta i suggerimenti per lo sviluppo per la regolazione della concorrenza.