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 jedoch Ihr Serviceerfordert reduzierte Latenz Insbesondere beim Skalieren von null aktiven Instanzen können Sie dieses Standardverhalten ändern, indem Sie eine Mindestanzahl von Containerinstanzen festlegen, die warmgehalten und bereit zur Bearbeitung von Anfragen sein sollen. Weitere Informationen zu dieser Optimierung finden Sie unter Allgemeine Entwicklungstipps.
Cloud Run entfernt Instanzen, die keine Anfragen verarbeiten (inaktiv).
Bei festgelegten Mindestinstanzen hält Cloud Run mindestens die Mindestanzahl an Instanzen aktiv, auch wenn diese keine Anfragen bearbeiten. 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. Selbst wenn Sie 3 oder mehr Instanzen konfigurieren, kann es aufgrund der folgenden unabwendbaren Risiken zu vorübergehenden Unterschreitungen der konfigurierten Mindestanzahl an Instanzen kommen:
- 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. Mehr Informationen darüber, wie Instanzen beendet werden, finden Sie in der Dokumentation instance shutdown.
- 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
Instanzen, die mithilfe der Funktion für minimale Instanzen weiterlaufen, verursachen Abrechnungskosten.
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 Zeitspanne zwischen Start und Herunterfahren umfasst auch die Zeit, in der eine Instanz Anfragen verarbeitet oder im Leerlauf 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.
Mindestinstanzen auf Serviceebene anstatt auf Revisionsebene anwenden
Sie können die Mindestanzahl an Instanzen auf der Ebene service oder auf der Ebene revision 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 sowohl bei der Bearbeitung von Anfragen als auch beim Warten auf eingehende Anfragen in Rechnung gestellt wird.
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 der Containerinstanzen, die warmgehalten werden sollen, um Anfragen entgegenzunehmen. Geben Sie
defaultan, um alle Einstellungen für Mindestinstanzen zu löschen.
Alternativ können Sie die Mindestanzahl an Instanzen während der Bereitstellung mit folgendem 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
Um die minimalen Instanzen für einen bestimmten Dienst zu aktualisieren, senden Sie eine HTTP-Anfrage PATCH an den Cloud Run Admin API-Endpunkt service.
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 über die IAM-Berechtigungen zum Aktualisieren eines Dienstes verfügt.
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 warmgehalten werden sollen, um Anfragen entgegenzunehmen.
- 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 zeigen Sie die aktuellen Mindestinstanzeinstellungen für Ihren Cloud Run-Dienst an:
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, bei denen diese Funktion zuvor konfiguriert wurde.
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.
Im Abschnitt Revisionsskalierung geben Sie die Mindestanzahl an Containerinstanzen im Feld Minimale Anzahl an Instanzen 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 der Containerinstanzen, die warmgehalten werden sollen, um Anfragen entgegenzunehmen. 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.
Suchen Sie die Einstellung Minimale Anzahl von Instanzen im Abschnitt Revisionsskalierung.
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
Die folgende Tabelle zeigt das Verhalten, wenn Sie die Mindest- oder Höchstanzahl von Instanzen auf Dienstebene mit der Mindest- oder Höchstanzahl von Instanzen auf Überarbeitungsebene kombinieren. Wenn die beiden Einstellungen in Konflikt stehen, wird die Mindesteinstellung durch die Einstellung für die maximale Anzahl von Instanzen begrenzt und überschrieben.
| Konfigurationseinstellung | Verhalten |
|---|---|
| Sowohl Mindestinstanzen auf Dienstebene als auch auf Überarbeitungsebene sind festgelegt. | Der effektive Wert für die Überarbeitung ist der größere Wert aus der Mindestanzahl von Instanzen auf Überarbeitungsebene und der Mindestanzahl von Instanzen auf Dienstebene. |
| Sowohl die Mindestanzahl von Instanzen auf Dienstebene als auch die Höchstanzahl von Instanzen auf Überarbeitungsebene sind festgelegt. | Der effektive Wert für die Revision ist der kleinere Wert aus maximaler Instanzen auf Revisionsebene und minimaler Instanzen auf Serviceebene. Das gilt auch dann, wenn die maximale Anzahl von Instanzen auf Überarbeitungsebene verhindert, dass der Dienst die Anzahl der Instanzen erreicht, die für die Mindestanzahl von Instanzen auf Dienstebene konfiguriert ist. |
| Die maximale Anzahl von Instanzen für den Dienst ist auf einen Wert festgelegt, der kleiner als die Mindestanzahl von Instanzen einer Überarbeitung ist. | Der effektive Wert der Instanzen der Überarbeitung ist auf das Dienstmaximum begrenzt. |
| Die Mindestanzahl von Dienstinstanzen ist auf einen höheren Wert als die maximale Anzahl von Instanzen einer Revision festgelegt. | Der effektive Wert der Instanzen der Überarbeitung ist auf das Revisionsmaximum begrenzt. |
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 (indem eine höhere Auslastung bei weniger Instanzen erreicht wird), sollte die Mindestanzahl der Instanzen auf einen Wert festgelegt werden, der der tatsächlichen Anzahl der Instanzen entspricht, die zur Bewältigung Ihres typischen Datenverkehrs benötigt werden.
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 anfragebasierter Abrechnung reduziert diese bevorzugte Weiterleitung an die konfigurierten Mindestinstanzen die Kosten, indem die konfigurierten Mindestinstanzen vor der Verwendung der automatisch skalierten Instanzen ausgelastet 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.