In Cloud Run for Anthos, ogni revisione viene scalata automaticamente in base al numero di istanze di container necessarie per gestire tutte le richieste in entrata.
Quando un numero maggiore di istanze di container elabora le richieste, verrà utilizzata più CPU e memoria, con costi maggiori. Quando dovrebbero essere avviate nuove istanze di container, l'elaborazione delle richieste potrebbe richiedere più tempo, riducendo le prestazioni del servizio.
Per offrirti un maggiore controllo, Cloud Run for Anthos fornisce un'impostazione contemporaneità che specifica il numero massimo di richieste che possono essere elaborate contemporaneamente da una determinata istanza di container.
Valori contemporanei
Per impostazione predefinita, le istanze di container Cloud Run for Anthos possono ricevere molte richieste contemporaneamente (fino a un massimo di 80). Tieni presente che, in confronto, le soluzioni Functions as a Service (FaaS) con Cloud Functions hanno una contemporaneità pari a 1.
Anche se devi utilizzare il valore di contemporaneità predefinito, se necessario puoi
ridurre la contemporaneità massima. Ad esempio,
se il tuo codice non è in grado di elaborare le richieste parallele,
imposta la contemporaneità su 1
.
Il valore di contemporaneità specificato è un valore massimo e Cloud Run for Anthos potrebbe non inviare tante richieste a una determinata istanza di container se la CPU dell'istanza è già utilizzata.
Il seguente diagramma mostra in che modo l'impostazione di contemporaneità influisce sul numero di istanze di container necessarie per gestire le richieste simultanee in entrata:
Quando limitare la contemporaneità a una richiesta alla volta
Puoi limitare la contemporaneità in modo che venga inviata una sola richiesta alla volta a ogni istanza di container in esecuzione. Ti consigliamo di farlo nel caso in cui:
- Ogni richiesta utilizza la maggior parte della CPU o 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.
È probabile che una contemporaneità di 1
incida negativamente sulle prestazioni di scalabilità, poiché molte istanze di container dovranno avviarsi per gestire un picco nelle 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 for Anthos impostato su una contemporaneità massima di 1. La riga superiore verde mostra le richieste nel tempo, mentre la riga blu inferiore indica il numero di istanze di container avviate per gestire le richieste.
Le seguenti metriche mostrano 400 client che effettuano 3 richieste al secondo a un servizio Cloud Run for Anthos impostato su una contemporaneità massima di 80. La riga superiore verde indica le richieste nel tempo, mentre la riga blu inferiore indica il numero di istanze di container avviate per gestire le richieste. Nota che sono necessarie meno istanze per gestire lo stesso volume di richieste.
Passaggi successivi
Per gestire la contemporaneità dei servizi Cloud Run for Anthos, vedi Impostare la contemporaneità.
Per ottimizzare l'impostazione della contemporaneità, consulta i suggerimenti per lo sviluppo per l'ottimizzazione della contemporaneità.