Maximale Anzahl von Instanzen

Standardmäßig haben Cloud Run-Dienste eine maximale Anzahl von Instanzen, die durch den niedrigsten der folgenden relevanten Kontingentlimits bestimmt wird. Das maximale Limit für jede Region hängt auch von der CPU- und Arbeitsspeicherkonfiguration für Ihren Cloud Run-Dienst ab. Insbesondere ist die maximale Anzahl von Instanzen, die für Ihren Dienst verfügbar sind, jeweils das Minimum der folgenden Instanzen:

  • Referenz des regionalen Instanzlimits geteilt durch das angeforderte Vielfache von 1 CPU
  • Referenz des regionalen Instanzlimits geteilt durch das angeforderte Vielfache von 2 GB Arbeitsspeicher
  • regionales CPU-Kontingent dividiert durch die CPU-Konfiguration für den Dienst.
  • Regionales Arbeitsspeicherkontingent dividiert durch die Arbeitsspeicherkonfiguration für den Dienst.
  • regionales GPU-Kontingent mit oder ohne zonale Redundanz, geteilt durch die GPU-Konfiguration für den Dienst.

Beispiel: Bei einem Basiskontingent von 1.000 Instanzen mit 4 GB Arbeitsspeicher oder einem Limit von 2 CPUs und 2.000 vCPUs und einem Limit von 4.000 GiBy gilt ein effektives Limit von 500.

Das Basiskontingent der Instanz pro Region für Ihre Region finden Sie in der Console auf der Seite „Kontingente“.

Das regionale Basiskontingent erhöhen

Wenn Sie eine größere Anzahl von Instanzen für Ihre Region benötigen, in der Ihr Cloud Run-Dienst bereitgestellt wird, können Sie eine Kontingenterhöhung anfordern.

Best Practices für das Festlegen der maximalen Anzahl von Instanzen

Im folgenden Abschnitt werden die Best Practices zum Konfigurieren von maximalen Instanzlimits für Ihre Dienste beschrieben.

Optimaler maximaler Instanzwert für ereignisgesteuerte Dienste

Ereignisgesteuerte Dienste, z. B. Funktionen, können basierend auf eingehenden Ereignissen sporadisch Trafficspitzen aufweisen. Um einen optimalen maximalen Instanzwert für diese Dienste zu bestimmen, müssen Sie Faktoren wie die Dienstaufrufzeit, die erwartete durchschnittliche Aufrufhäufigkeit, die maximale Aufrufhäufigkeit und die Fehlertoleranz bei Aufruffehlern berücksichtigen.

Es empfiehlt sich, mit einem maximalen Instanzwert von 3 zu beginnen, dann auf Aufruffehler zu überwachen und den Wert der maximalen Anzahl an Instanzen nach Bedarf anzupassen.

Anfragen verarbeiten, wenn alle Instanzen ausgelastet sind

Unter normalen Umständen wird Ihr Dienst hochskaliert, indem neue Instanzen erstellt werden, um die Last des eingehenden Traffics zu verarbeiten. Wenn Sie jedoch ein Limit für die Höchstzahl der Instanzen festgelegt haben, kann es vorkommen, dass nicht genügend Instanzen vorhanden sind, um den eingehenden Traffic zu verarbeiten.

In diesem Szenario versucht Cloud Run bis zu 30 Sekunden lang, eine neue eingehende Anfrage zu verarbeiten:

  • Wenn eine Instanz die Verarbeitung ihrer Anfrage während dieses Zeitraums abschließt, kann sie mit der Verarbeitung der neuen eingehenden Anfrage beginnen.
  • Wenn keine Instanz verfügbar wird, schlägt die Anfrage fehl.

Cloud Run speichert Ereignisse für ereignisgesteuerte Dienste automatisch, bis Kapazität verfügbar ist.

Maximale Instanzlimits, die die Skalierungsfähigkeit von Cloud Run überschreiten

Wenn Sie ein Limit für die maximale Anzahl von Instanzen festlegen, geben Sie eine Obergrenze an. Das Festlegen eines hohen Limits bedeutet nicht, dass Ihr Dienst auf die angegebene Anzahl von Instanzen skaliert wird. Es bedeutet lediglich, dass die Anzahl der zu einer beliebigen Zeit koexistierenden Instanzen den Grenzwert nicht überschreiten darf.

Darüber hinaus kann sich das Festlegen einer maximalen Anzahl von Instanzen auf die Skalierungsstrategien auswirken, die Cloud Run zur Erfüllung Ihrer Traffic-Nachfrage verwendet. Im Allgemeinen priorisiert Cloud Run das angegebene Limit, statt es zu skalieren und möglicherweise zu überschreiten.

Umgang mit Trafficspitzen

In einigen Fällen, z. B. bei schnellem Trafficanstieg, kann Cloud Run für einen kurzen Zeitraum mehr Instanzen erstellen, als das angegebene maximale Instanzenlimit überschreitet. Wenn Ihr Dienst dieses vorübergehende Verhalten nicht akzeptiert, sollten Sie eine Sicherheitsspanne berücksichtigen und einen niedrigeren Wert für die maximale Anzahl von Instanzen festlegen, als Ihr Dienst tolerieren kann.

Deployments

Wenn Sie eine neue Version bereitstellen, migriert Cloud Run den Traffic von der vorherigen zur neuen Version. Da die maximalen Instanzlimits für jede Version separat festgelegt werden, kann das angegebene Limit nach der Bereitstellung vorübergehend überschritten werden.

Ein Dienst kann beispielsweise ein Limit von 5 Instanzen haben. Unter normalen Umständen skaliert der Dienst bei der Verarbeitung von Anfragen auf bis zu fünf Instanzen. Wenn Sie eine neue Version bereitstellen, gilt für diese ein eigenes maximales Instanzenlimit von 5.

Anfragen, die bereits von der vorherigen Version verarbeitet werden, werden beim Bereitstellen einer neuen Version nicht unterbrochen. Stattdessen werden diese Anfragen weiter bearbeitet. Neue eingehende Anfragen werden von der neu bereitgestellten Version Ihres Dienstes verarbeitet.

Daher kann der Dienst im vorherigen Beispiel während des Zeitraums nach der Bereitstellung der neuen Version insgesamt bis zu 10 Instanzen (5 für jede Überarbeitung) haben. Wie lange es dauert, bis Instanzen der vorherigen Version beendet werden, hängt von der Zeit ab, die diese Instanzen benötigen, um die Verarbeitung aktiver Anfragen abzuschließen. Dies ist ein zusätzlicher Faktor, der bei der Auswahl eines geeigneten maximalen Instanzenlimits berücksichtigt werden muss.