Auf dieser Seite wird beschrieben, wie Sie inaktive Instanzen für einen Dienst aktivieren, indem Sie Mindestinstanzen mit dem Standardverhalten für Cloud Run-Autoscaling konfigurieren. Informationen zum manuellen Skalieren Ihres Dienstes finden Sie unter Manuelle Skalierung.
Wenn Sie das Autoscaling-Verhalten Ihres Dienstes genauer steuern möchten, können Sie eine Mindestanzahl von Instanzen festlegen, um langsame Containerstartzeiten zu vermeiden und die Dienstlatenz zu verringern. Basierend auf der Anzahl der eingehenden Anfragen skaliert Cloud Run für Cloud Run-Dienste standardmäßig die Anzahl der Instanzen herunter.
Wenn Ihr Dienst jedoch eine geringere Latenz erfordert, insbesondere bei der Skalierung von null aktiven Instanzen, können Sie dieses Standardverhalten ändern. Dazu geben Sie eine Mindestanzahl von Containerinstanzen an, die einsatzbereit gehalten werden und so stets bereit sind, Anfragen zu bedienen. Weitere Informationen zu dieser Optimierung finden Sie unter Allgemeine Entwicklungstipps.
Cloud Run entfernt Instanzen, die keine Anfragen verarbeiten (inaktiv).
Wenn eine Mindestanzahl von Instanzen festgelegt ist, führt Cloud Run mindestens die Mindestanzahl von Instanzen aus, auch wenn sie keine Anfragen verarbeiten. Aktive Instanzen oberhalb der Grenze min-instances können inaktiv werden, wenn sie keine Anfragen empfangen.
Beispiel: Wenn min-instances 10 ist und die Anzahl der aktiven Instanzen 0 ist, beträgt die Anzahl der inaktiven Instanzen 10. Wenn die Anzahl der aktiven Instanzen auf 6 steigt, sinkt die Anzahl der inaktiven Instanzen auf 4.
Wenn ein Dienst in letzter Zeit keinen Traffic verarbeitet hat, kann der Messwert für aktive Instanzen angeben, dass keine Instanzen aktiv sind, auch wenn Sie eine oder mehrere Instanzen als Mindestanzahl angegeben haben.
Instanzen können jederzeit neu gestartet werden.
Best Practices für Hochverfügbarkeit
Damit Ihr Dienst hochverfügbar bleibt, sollten Sie mindestens drei Mindestinstanzen konfigurieren.
Einschränkungen der Mindestanzahl von Instanzen
Mindestinstanzen sind ein Best-Effort-Ziel, um Instanzen einsatzbereit zu halten. Aufgrund der folgenden nicht geminderten Risiken kann es zu vorübergehenden Unterschreitungen der konfigurierten Mindestanzahl von Instanzen kommen, auch wenn Sie drei oder mehr Instanzen konfigurieren:
- Kapazität von Zone oder Region:Bei starker Kapazitätsauslastung in einer Zone oder Region kann das System möglicherweise keine Instanzen starten oder ausführen.
- Neuausrichtung der Infrastruktur:Gelegentlich wird die zugrunde liegende Infrastruktur neu ausgerichtet. Dadurch kann es zu einer vorübergehenden Verzögerung beim Hochfahren von Ersatzinstanzen kommen. Weitere Informationen zum Beenden von Instanzen finden Sie in der Dokumentation zum Herunterfahren von Instanzen.
- Anwendungsabstürze:Wenn Ihr Container beim Start abstürzt oder Systemdiagnosen wiederholt fehlschlagen, versucht das System kontinuierlich, Instanzen zu starten, um das Minimum zu erreichen. Die Anzahl der fehlerfreien, einsatzbereiten Instanzen bleibt jedoch unter dem konfigurierten Mindestwert.
- Kontingente und Abrechnungslimits:Wenn Ihr Projekt CPU- oder Arbeitsspeicherkontingentlimits erreicht oder die Abrechnung deaktiviert ist, wird die Skalierung angehalten und Instanzen werden möglicherweise beendet, unabhängig von Ihrer Einstellung für die Mindestanzahl von Instanzen.
Abrechnung
Für Instanzen, die mit der Funktion für Mindestinstanzen weiterhin ausgeführt werden, fallen Kosten an.
Das folgende Diagramm zeigt, wie die Abrechnung während des Lebenszyklus einer Instanz funktioniert, wenn Sie Mindestinstanzen für einen Dienst oder eine Revision konfigurieren:
Je nach den konfigurierten Abrechnungseinstellungen wird der Dienst so abgerechnet:
- Bei der anfragebasierten Abrechnung wird Ihnen ein niedrigerer Preis in Rechnung gestellt, wenn Instanzen inaktiv sind und auf die Verarbeitung von Anfragen warten. Wenn die Mindestanzahl von Instanzen auf
0festgelegt ist, werden Ihnen keine Kosten in Rechnung gestellt, wenn Instanzen inaktiv sind. - Bei der instanzbasierten Abrechnung wird Ihnen der Standardpreis für den gesamten Lebenszyklus der Instanz in Rechnung gestellt. Die Zeit vom Start bis zum Herunterfahren umfasst die Zeit, in der eine Instanz Anfragen verarbeitet oder inaktiv ist. Das bedeutet, dass Ihnen auch dann der Standardtarif in Rechnung gestellt wird, wenn „min_instances“ auf
0festgelegt ist. Diese Option ist gut geeignet, wenn Sie CPU außerhalb von Anfragen benötigen. Wenn „min_instances“ auf0festgelegt ist, wird der Standardtarif berechnet.
Mindestanzahl von Instanzen auf Dienstebene oder auf Überarbeitungsebene anwenden
Sie können die Mindestanzahl von Instanzen auf Dienstebene oder auf Überarbeitungsebene konfigurieren. Google empfiehlt, die Mindestanzahl von Instanzen auf Dienstebene anzuwenden und die Kombination von Mindestanzahl von Instanzen auf Dienstebene und Überarbeitungsebene zu vermeiden. Weitere Informationen zum Verhalten, wenn Sie sowohl Skalierungseinstellungen auf Dienstebene als auch auf Revisionsebene konfigurieren
Wenn Sie die Mindestanzahl von Instanzen auf Überarbeitungsebene anwenden, werden die Einstellungen bei der Bereitstellung der Überarbeitung wirksam. Wenn Sie diese Funktion auf Dienstebene anwenden, wird die Einstellung wirksam, ohne dass Sie eine neue Revision bereitstellen müssen.
Überarbeitungen und Mindestinstanzen
Wenn eine Mindestanzahl von Instanzen auf Dienstebene festgelegt ist, werden eingehende Anfragen proportional zur Trafficaufteilung auf alle Überarbeitungen verteilt, die Traffic verarbeiten.
Wenn eine Mindestanzahl von Instanzen auf Überarbeitungsebene festgelegt ist, werden Mindestanzahl von Instanzen gestartet, wenn in einer Trafficaufteilung auf die Überarbeitung verwiesen wird oder wenn ihr ein Traffic-Tag zugewiesen ist. Das bedeutet, dass die Instanz bei der Verarbeitung von Anfragen und auch dann abgerechnet wird, wenn sie auf eingehende Anfragen wartet.
Getaggte Überarbeitungen und Mindestinstanzen auf Dienstebene
Wenn eine Überarbeitung mit einem zugewiesenen Tag gestartet wird, wird die Instanz auf die Mindestanzahl von Instanzen auf Dienstebene angerechnet, wenn sie Teil einer Trafficaufteilung ist.
Routing von Anfragen mit Mindestanzahl von Instanzen
Wenn Sie eine Mindestanzahl von Instanzen festlegen, verteilt Cloud Run eingehende Anfragen gleichmäßig auf alle bereitgestellten Instanzen. Dieses Verhalten ist wichtig, um die Kosten zu verwalten, insbesondere bei der anfragebasierten Abrechnung oder wenn Sie Hot-Spare-Instanzen im Leerlauf beibehalten möchten. Um die Kosten zu minimieren, sollten Sie die Mindestanzahl von Instanzen auf die Anzahl der Instanzen festlegen, die für die Bereitstellung Ihres typischen Traffics erforderlich sind.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Diensten benötigen:
- Rolle Cloud Run-Entwickler (
roles/run.developer) im Cloud Run-Dienst - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
Wenn Sie einen Dienst oder eine Funktion aus Quellcode bereitstellen, müssen Sie auch zusätzliche Rollen für Ihr Projekt und Ihr Cloud Build-Dienstkonto haben.
Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Dienst mitGoogle Cloud -APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.
Mindestinstanzen auf Dienstebene konfigurieren
Bei Containerinstanzen ist die Mindestanzahl von Instanzen auf Dienstebene standardmäßig deaktiviert und auf 0 eingestellt. Sie können diese Standardeinstellung über dieGoogle Cloud -Konsole, die Google Cloud CLI oder eine YAML-Datei ändern:
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Wählen Sie im Cloud Run-Navigationsmenü Dienste aus und klicken Sie auf Container bereitstellen, um einen neuen Dienst zu konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst.
Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Tab Skalierung.
Geben Sie im Bereich Dienstskalierung im Feld Mindestanzahl von Instanzen die Mindestanzahl von Containerinstanzen an.
Klicken Sie für einen neuen Dienst auf Erstellen. Klicken Sie für einen vorhandenen Dienst auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen.
gcloud
Mit dem folgenden Befehl können Sie die Mindestanzahl von Instanzen für einen bestimmten Dienst aktualisieren:
gcloud run services update SERVICE --min MIN-VALUE
Ersetzen Sie Folgendes:
- SERVICE: der Name Ihres Dienstes.
- MIN-VALUE: die Anzahl von Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie
defaultan, um alle Einstellungen für Mindestinstanzen zu löschen.
Alternativ können Sie die Mindestanzahl von Instanzen während der Bereitstellung mit dem folgenden Befehl festlegen:
gcloud run deploy --image IMAGE_URL --min MIN-VALUE
Ersetzen Sie Folgendes:
IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latestWenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat das FormatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- MIN-VALUE: die Anzahl der Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie
defaultan, um alle Einstellungen für Mindestinstanzen zu löschen.
YAML
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie das Attribut
run.googleapis.com/minScale:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/minScale: 'MIN_INSTANCE'
Ersetzen Sie Folgendes:
- SERVICE: Der Name Ihres Cloud Run-Dienstes
- MIN-INSTANCE: die Anzahl der Instanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen.
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Der Befehl
gcloud run services replaceverwendet standardmäßig die Dateiservice.yaml, sofern sie vorhanden ist.
Clientbibliotheken
So aktualisieren Sie die Mindestinstanzen auf Dienstebene für Ihren Dienst über Code:
REST API
Wenn Sie die Mindestanzahl von Instanzen auf Dienstebene für einen bestimmten Dienst aktualisieren möchten, senden Sie eine PATCH-HTTP-Anfrage an den Endpunkt service der Cloud Run Admin API.
Verwenden Sie zum Beispiel curl:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{ "scaling": { "minInstanceCount": MIN-VALUE }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=scaling.minInstanceCount
Ersetzen Sie Folgendes:
- ACCESS_TOKEN: Ein gültiges Zugriffstoken für ein Konto, das die IAM-Berechtigungen zum Aktualisieren eines Dienstes hat.
Wenn Sie beispielsweise in
gcloudangemeldet sind, können Sie ein Zugriffstoken mitgcloud auth print-access-tokenabrufen. Innerhalb einer Cloud Run-Containerinstanz können Sie ein Zugriffstoken über den Metadatenserver der Containerinstanz abrufen. - MIN-VALUE: Die Anzahl der Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen.
- SERVICE ist der Name des Diensts.
- REGION: die Google Cloud Region des Dienstes.
- PROJECT-ID: die Google Cloud Projekt-ID.
Mindestinstanzen auf Dienstebene ansehen
So rufen Sie die aktuellen Einstellungen für die Mindestinstanzen auf Dienstebene für Ihren Cloud Run-Dienst auf:
Console
Rufen Sie in der Google Cloud Console die Seite Dienste für Cloud Run auf:
Klicken Sie auf den gewünschten Dienst, um den Bereich Dienstdetails zu öffnen.
Klicken Sie auf den Tab Skalierung.
Suchen Sie im Bereich Dienstskalierung nach der Einstellung Mindestanzahl von Instanzen.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration den Wert für Skalierung: Automatisch (Min.: MIN_VALUE, Max.: MAX_VALUE).
Mindestanzahl von Instanzen auf Überarbeitungsebene konfigurieren
Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.
Bei Containerinstanzen ist min-instances standardmäßig deaktiviert und auf 0 eingestellt.
Die Skalierung auf Revisionsebene ist nur für Dienste verfügbar, für die die Funktion zuvor konfiguriert war.
Console
Rufen Sie in der Google Cloud Console Cloud Run auf:
Wählen Sie im Cloud Run-Navigationsmenü Dienste aus und klicken Sie auf Container bereitstellen, um einen neuen Dienst zu konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Dienst.
Wenn Sie einen neuen Dienst konfigurieren, füllen Sie die Seite mit den anfänglichen Diensteinstellungen aus und klicken Sie dann auf Container, Netzwerk, Sicherheit, um die Seite zur Dienstkonfiguration zu maximieren.
Wenn Sie einen vorhandenen Dienst konfigurieren, klicken Sie auf den Tab Skalierung.
Geben Sie im Bereich Versionsskalierung im Feld Mindestanzahl von Instanzen die Mindestanzahl von Containerinstanzen an.
Klicken Sie für einen neuen Dienst auf Erstellen. Klicken Sie für einen vorhandenen Dienst auf Unterschied ansehen und erneut bereitstellen und dann auf Änderungen bereitstellen.
gcloud
Mit dem folgenden Befehl können Sie min-instance für einen bestimmten Dienst aktualisieren:
gcloud run services update SERVICE --min-instances MIN-VALUE
Ersetzen Sie Folgendes:
- SERVICE: der Name Ihres Dienstes.
- MIN-VALUE: die Anzahl von Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie
defaultan, um alle Einstellungen für Mindestinstanzen zu löschen.
Sie können min-instance auch während der Bereitstellung mit dem folgenden Befehl festlegen:
gcloud run deploy --image IMAGE_URL --min-instances MIN-VALUE
Ersetzen Sie Folgendes:
IMAGE_URL: ein Verweis auf das Container-Image, z. B.us-docker.pkg.dev/cloudrun/container/hello:latestWenn Sie Artifact Registry verwenden, muss das Repository REPO_NAME bereits erstellt sein. Die URL hat das FormatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- MIN-VALUE: die Anzahl von Containerinstanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen. Geben Sie
defaultan, um alle Einstellungen für Mindestinstanzen zu löschen.
YAML
Wenn Sie einen neuen Dienst erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Dienst aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:
gcloud run services describe SERVICE --format export > service.yaml
Aktualisieren Sie das Attribut
autoscaling.knative.dev/minScale::apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: autoscaling.knative.dev/minScale: 'MIN-INSTANCE' name: REVISION
Ersetzen Sie Folgendes:
- SERVICE: Der Name Ihres Cloud Run-Dienstes
- MIN-INSTANCE: die Anzahl der Instanzen, die einsatzbereit gehalten werden und zum Empfangen von Anfragen bereit sein sollen.
REVISION: ein neuer Überarbeitungsname oder löschen (falls vorhanden). Wenn Sie einen neuen Überarbeitungsnamen angeben, muss er die folgenden Kriterien erfüllen:- Beginnt mit
SERVICE- - Enthält nur Kleinbuchstaben, Ziffern und
- - Endet nicht mit
- - Darf nicht mehr als 63 Zeichen enthalten
- Beginnt mit
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run services replace service.yaml
Der Befehl
gcloud run services replaceverwendet standardmäßig die Dateiservice.yaml, sofern sie vorhanden ist.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie einergoogle_cloud_run_v2_service-Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:Die vorherige google_cloud_run_v2_service-Ressource gibt eine Mindestanzahl von Instanzen von 1 unter template.scaling an.
Ersetzen Sie 1 durch Ihre eigene Mindestanzahl von Instanzen.
Mindestanzahl von Instanzen auf Überarbeitungsebene ansehen
Die Skalierung auf Revisionsebene ist nur für Dienste verfügbar, für die die Funktion zuvor konfiguriert war.
So rufen Sie die aktuellen Einstellungen für die Mindestanzahl von Instanzen auf Überarbeitungsebene für Ihren Cloud Run-Dienst auf:
Console
Rufen Sie in der Google Cloud Console die Seite Dienste für Cloud Run auf:
Klicken Sie auf den gewünschten Dienst, um den Bereich Dienstdetails zu öffnen.
Klicken Sie auf den Tab Skalierung.
Die Einstellung Mindestanzahl von Instanzen finden Sie im Bereich Versionsskalierung.
gcloud
Verwenden Sie den folgenden Befehl:
gcloud run services describe SERVICE
Suchen Sie in der zurückgegebenen Konfiguration den Wert für Mindestanzahl von Instanzen.
Beispiele
In den folgenden Abschnitten wird das Dienstverhalten beim Konfigurieren von Mindestinstanzen beschrieben.
Mindest- oder Höchstanzahl von Instanzen auf Dienstebene und Überarbeitungsebene verwenden
Sie können Mindest- oder Höchstanzahl von Instanzen auf Dienstebene und Überarbeitungsebene kombinieren. Wenn Sie beides konfigurieren, werden die endgültigen Instanzlimits durch die folgenden Regeln bestimmt:
- Maximale Limits begrenzen immer minimale Limits:Jedes maximale Limit, das Sie entweder auf Dienst- oder Revisionsebene konfigurieren, verhindert strikt, dass das System über diesen Wert hinaus skaliert wird, unabhängig von den Mindesteinstellungen.
- Bei Mindestlimits gilt das höchste Limit:Wenn mehrere Mindestlimits aktiv sind und nicht durch ein Höchstlimit blockiert werden, erfüllt der Autoscaler das höchste Mindestlimit.
| Dienst | Überarbeitung | Regel zur Lösung | Ergebnis |
|---|---|---|---|
| Min. | Min. | Höchste Mindestgewinne | Wenn die Mindestanzahl von Dienstinstanzen 10 und die Mindestanzahl von Überarbeitungsinstanzen 5 beträgt, werden 10 Instanzen der Überarbeitung ausgeführt, um die größere globale Mindestanzahl zu erfüllen. |
| Min. | Max. | Max. Anzahl von Instanzen der Version überschreibt die Mindestanzahl von Instanzen des Dienstes | Wenn die Mindestanzahl von Dienstinstanzen 10 und die Höchstanzahl von Überarbeitungsinstanzen 5 ist, ist die Überarbeitung streng auf 5 Instanzen begrenzt. |
| Max. | Min. | „Service max“ überschreibt „Revision min“ | Wenn die maximale Anzahl von Instanzen für den Dienst 5 und die Mindestanzahl von Instanzen für die Überarbeitung 10 ist, ist die Überarbeitung streng auf 5 Instanzen begrenzt. |
| Max. | Max. | Niedrigste maximale Gewinne | Wenn der maximale Wert für den Dienst 5 und der maximale Wert für die Überarbeitung 10 ist, wird die Überarbeitung auf 5 Instanzen begrenzt. |
Cloud Run behebt Kapazitätsbeschränkungen, indem zuerst die effektive maximale Anzahl von Instanzen berechnet wird (die kleinere der maximalen Anzahl auf Service- und Revisionsebene). Anschließend wird die effektive Mindestanzahl von Instanzen ermittelt (die größere der Mindestanzahl auf Überarbeitungsebene und der zugewiesenen Mindestanzahl auf Dienstebene). Das Ergebnis wird auf die effektive Höchstanzahl begrenzt.
Wenn Sie keinen Wert konfigurieren, verwendet das Autoscaling die Standardwerte, z. B. 0 für die Mindestanzahl von Instanzen auf Dienst- und Überarbeitungsebene und 100 für die maximale Anzahl von Instanzen auf Überarbeitungsebene.
Mindestanzahl von Instanzen auf Dienstebene mit Trafficaufteilung verwenden
Wenn Sie Trafficaufteilung verwenden, wird die Mindestanzahl von Instanzen auf Dienstebene basierend auf dem Anteil der Trafficaufteilung auf die Überarbeitungen aufgeteilt. Wenn beispielsweise die Mindestanzahl von Instanzen auf Dienstebene = 10 ist, werden bei einer 50/50-Trafficaufteilung jeder Überarbeitung 5 Mindestanzahl von Instanzen auf Dienstebene zugewiesen.
Die folgende Tabelle enthält Beispielkonfigurationsszenarien:
| Beispielanwendungsfall | Beispielkonfiguration | Ergebnis |
|---|---|---|
| Keine Einstellungen auf Überarbeitungsebene | Mindestanzahl von Instanzen auf Dienstebene: 10
|
Überarbeitung A erhält 6 Instanzen aus der Mindestanzahl von Instanzen auf Dienstebene, die proportional zur Trafficaufteilung sind. Überarbeitung B erhält 4 Instanzen aus der Mindestanzahl von Instanzen auf Dienstebene, die proportional zur Trafficaufteilung sind. |
| Es werden mehr als die Mindestanzahl von Instanzen auf Dienstebene aufgrund der Mindestanzahl von Instanzen auf Überarbeitungsebene empfangen | Mindestanzahl von Instanzen auf Dienstebene: 10
|
Überarbeitung A erhält 6 Instanzen aufgrund der Mindestanzahl von Instanzen auf Überarbeitungsebene. Überarbeitung B erhält 5 Instanzen aus der Mindestanzahl von Instanzen auf Dienstebene, die proportional zur Trafficaufteilung sind. Dies überschreitet die Mindestanzahl von Instanzen auf Dienstebene und ist beabsichtigt. |
| Es werden weniger als die Mindestanzahl von Instanzen auf Dienstebene aufgrund der Höchstanzahl von Instanzen auf Überarbeitungsebene empfangen. | Mindestanzahl von Instanzen auf Dienstebene: 10
|
Version A erhält aufgrund der Trafficaufteilung drei Instanzen aus der Mindestanzahl von Instanzen auf Dienstebene, ist aber auf die maximale Anzahl von Instanzen auf Versionsebene beschränkt. Version B erhält aufgrund der Trafficaufteilung fünf Instanzen aus der Mindestanzahl von Instanzen auf Dienstebene. Das Ergebnis sind 8 Instanzen auf Dienstebene, da 2 aufgrund der maximalen Anzahl von Instanzen auf Überarbeitungsebene von Überarbeitung A verloren gehen. |
| Die Mindestanzahl der Instanzen auf Dienstebene ist größer als die Anzahl der Überarbeitungen der Trafficaufteilung und es gibt eine kleine Anzahl von Instanzen, die proportional zur Trafficaufteilung sind | Mindestinstanzen auf Dienstebene: 3
|
Überarbeitung A erhält eine Mindestinstanz und Überarbeitung B zwei Mindestinstanzen. Die Anzahl der Instanzen für den Dienst ist 3. |
Mindestanzahl der erforderlichen Instanzen ermitteln
Wenn die Mindestanzahl an Instanzen höher ist als für Ihren typischen Traffic erforderlich, werden viele Instanzen leicht aktiv und verarbeiten jeweils einige Anfragen. Wenn für Ihren Dienst beispielsweise normalerweise 200 Instanzen für die Spitzenlast erforderlich sind, aber die Mindestanzahl auf 600 konfiguriert ist, werden eingehende Anfragen auf alle 600 Instanzen verteilt. Das führt dazu, dass viele dieser 600 Instanzen etwas aktiv werden und jeweils einen kleinen Teil des Traffics verarbeiten, anstatt dass etwa 200 Instanzen sehr aktiv sind und die verbleibenden 400 Instanzen vollständig im Leerlauf bleiben.
Um die Kosten zu minimieren (durch eine höhere Auslastung bei weniger Instanzen), legen Sie die Mindestanzahl von Instanzen auf einen Wert fest, der sich eng an der tatsächlichen Anzahl von Instanzen orientiert, die zur Verarbeitung Ihres typischen Traffics erforderlich sind.
Wenn durch Autoscaling zusätzliche Instanzen über die konfigurierte Mindestanzahl hinaus bereitgestellt werden, leitet Cloud Run eingehende Anfragen vorzugsweise zuerst an die konfigurierten Mindestinstanzen weiter, bevor Anfragen an die automatisch skalierten Instanzen gesendet werden. Bei der anfragebasierten Abrechnung werden durch dieses bevorzugte Routing zu den konfigurierten Mindestinstanzen die Kosten gesenkt, da die konfigurierten Mindestinstanzen vor den automatisch skalierten Instanzen verwendet werden. Diese bevorzugte Weiterleitung kann je nach Traffic-Menge auch dazu führen, dass konfigurierte Mindestinstanzen eine höhere Auslastung als automatisch skalierte Instanzen haben.