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 richieste, verrà utilizzata una maggiore quantità di CPU e memoria, con un conseguente aumento dei costi.
Per offrirti un maggiore controllo, Cloud Run fornisce un'impostazione per il 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 di Cloud Run può ricevere fino a 80 richieste contemporaneamente; puoi aumentare questo numero fino a un massimo di 1000.
Sebbene sia consigliabile utilizzare il valore predefinito, se necessario puoi ridurre la contemporaneità massima. Ad esempio,
se il codice non può elaborare richieste parallele,
imposta la contemporaneità su 1
.
Il valore di contemporaneità specificato è un valore massimo e Cloud Run potrebbe non inviare 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 entrata:
Quando limitare la contemporaneità massima a una richiesta alla volta.
Puoi limitare la contemporaneità 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 container non è progettata per gestire più richieste contemporaneamente, ad esempio se il container si basa su uno stato globale che due richieste non possono condividere.
Tieni presente che una contemporaneità di 1
potrebbe influire negativamente sulle prestazioni di scalabilità, 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 effettuano 3 richieste al secondo a un servizio Cloud Run impostato su un numero massimo di richieste in parallelo per istanza pari a 1. La riga superiore verde mostra le richieste nel tempo, la riga blu inferiore indica il numero di istanze che hanno iniziato a gestire le richieste.
Le seguenti metriche mostrano 400 client che effettuano 3 richieste al secondo a un servizio Cloud Run impostato su un numero massimo di richieste in parallelo per istanza di 80. La riga superiore verde mostra le richieste nel tempo, la riga blu inferiore indica il numero di istanze che hanno iniziato a 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 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 suggerimenti per lo sviluppo per l'ottimizzazione della contemporaneità.