In Cloud Run for Anthos wird jede Überarbeitung automatisch auf die Anzahl der Containerinstanzen skaliert, die zum Verarbeiten aller eingehenden Anfragen erforderlich sind.
Wenn mehr Containerinstanzen Anfragen verarbeiten, werden mehr CPUs und mehr Arbeitsspeicher benötigt, was zu höheren Kosten führt. Müssen neue Containerinstanzen gestartet werden, kann die Verarbeitung von Anfragen länger dauern, wodurch die Leistung Ihres Dienstes abnimmt.
Damit Sie mehr Kontrolle haben, bietet Cloud Run for Anthos die Einstellung für Gleichzeitigkeit, die die maximale Anzahl von Anfragen angibt, die gleichzeitig von einer bestimmten Containerinstanz verarbeitet werden können.
Gleichzeitigkeitswerte
Cloud Run for Anthos-Containerinstanzen können standardmäßig viele Anfragen gleichzeitig empfangen (bis zu 80). Im Vergleich zu FaaS-Lösungen (Function as a Service) wie Cloud Functions gilt eine feste Gleichzeitigkeit von 1.
Sie sollten für die Gleichzeitigkeit zwar den Standardwert verwenden, können bei Bedarf aber die maximale Gleichzeitigkeit verringern. Wenn Ihr Code beispielsweise keine parallelen Anfragen verarbeiten kann, setzen Sie die Gleichzeitigkeit auf 1
.
Der angegebene Gleichzeitigkeitswert ist ein Maximalwert und Cloud Run for Anthos sendet möglicherweise nicht so viele Anfragen an eine bestimmte Containerinstanz, wenn die CPU der Instanz bereits stark ausgelastet ist.
Das folgende Diagramm zeigt, wie sich die Gleichzeitigkeitseinstellung auf die Anzahl der Containerinstanzen auswirkt, die zur Verarbeitung eingehender gleichzeitiger Anfragen benötigt werden:
Wann Sie die Gleichzeitigkeit auf maximal eine Anfrage beschränken sollten
Sie können die Gleichzeitigkeit beschränken, sodass an jede ausgeführte Containerinstanz jeweils nur eine Anfrage gleichzeitig gesendet wird. Sie sollten dies in Fällen in Betracht ziehen, in denen Folgendes gilt:
- Für jede einzelne Anfrage wird der größte Teil der verfügbaren CPU benötigt bzw. des verfügbaren Arbeitsspeichers belegt.
- Ihr Container-Image ist nicht für die gleichzeitige Verarbeitung mehrerer Anfragen konzipiert, z. B. wenn Ihr Container auf den globalen Status angewiesen ist, der nicht von zwei Anfragen gemeinsam genutzt werden kann.
Eine Gleichzeitigkeit von 1
wirkt sich wahrscheinlich negativ auf die Skalierungsleistung aus, da bei einem sprunghaften Anstieg eingehender Anfragen viele Containerinstanzen für deren Verarbeitung gestartet werden müssen.
Fallstudie
Die folgenden Messwerte zeigen einen Anwendungsfall, bei dem 400 Clients drei Anfragen pro Sekunde an einen Cloud Run for Anthos-Dienst senden, der auf eine maximale Gleichzeitigkeit von 1 eingestellt ist. In der grünen oberen Zeile sind die Anfragen im Zeitverlauf aufgeführt, in der unteren blauen Ziele ist die Anzahl der Containerinstanzen angegeben, die mit der Verarbeitung der Anfragen begonnen haben.
Die folgenden Messwerte zeigen 400 Clients, die drei Anfragen pro Sekunde an einen Cloud Run for Anthos-Dienst senden, der auf eine maximale Gleichzeitigkeit von 80 festgelegt ist. In der grünen oberen Zeile sind die Anfragen im Zeitverlauf aufgeführt, in der unteren blauen Zeile ist die Anzahl der Containerinstanzen angegeben, die mit der Verarbeitung der Anfragen begonnen haben. Beachten Sie, dass weit weniger Instanzen benötigt werden, um dasselbe Anfragevolumen zu verarbeiten.
Weitere Informationen
Mehr zum Verwalten der Gleichzeitigkeit Ihrer Cloud Run for Anthos-Dienste erfahren Sie unter Gleichzeitigkeit festlegen.
Informationen zum Optimieren der Gleichzeitigkeitseinstellung finden Sie unter Tipps für Entwickler: Gleichzeitigkeit optimieren.