Kontingente und Limits

In diesem Dokument erfahren Sie mehr zu Kontingenten und Ressourcenlimits bei Pub/Sub.

Weitere Informationen zum Verfolgen Ihrer Kontingente, wie etwa der Themen- oder Abonutzung, finden Sie unter Monitoring.

Kontingentnutzung ansehen und Kontingentlimits verwalten

Sie können die aktuellen Kontingente eines Projekts und deren Nutzung im Dashboard "APIs & Dienste" für Kontingente ansehen. In diesem Dashboard lassen sich auch einzelne Kontingente ändern.

Wenn Sie mehrere Kontingente gleichzeitig ändern möchten, verwenden Sie das Dashboard "IAM & Verwaltung" für Kontingente.

In beiden Dashboards können Sie:

  • Kontingente reduzieren
  • Höhere Kontingentlimits beantragen

Zuordnung der Projektnutzung

Für den Push-Abonnentendurchsatz wird die Kontingentnutzung anhand des Projekts berechnet, in dem das Push-Abo enthalten ist.

Für die folgenden Kontingente wird die Nutzung anhand des Projekts berechnet, das mit den Anmeldedaten des Aufrufers verbunden ist, und nicht anhand des Projekts, das die angeforderte Ressource enthält, also nicht anhand des im Thema- oder Abonamen angezeigten Projekts.

  • Publisher-Durchsatz
  • Abonnentendurchsatz
  • Verwaltungsvorgänge

Beispiel: Wenn ein Dienstkonto in Projekt A eine Anfrage zur Veröffentlichung an ein Thema in Projekt B sendet, wird das Kontingent für Projekt A belastet. Jede Anfrage enthält Anmeldedaten, die eine Projekt-ID enthalten.

Kontingentlimits

Die in der folgenden Tabelle aufgelisteten Kontingente können pro Projekt im Dashboard "APIs & Dienste" für Kontingente aufgerufen und bearbeitet werden.

Regionale Kontingente sind in zwei Typen unterteilt:

  • Große Regionen: europe-west1, us-central1, us-east1
  • Kleine Regionen: alle anderen Regionen

Kontingent Standardkontingentlimit Beschreibung
Publisher-Durchsatz pro Region
  • 12.000.000 KB pro Minute (200 MB/s) in großen Regionen
  • 3.000.000 KB pro Minute (50 MB/s) in kleinen Regionen
Die Kontingentnutzung beruht auf der Größe der veröffentlichten PubsubMessages:

In einer Veröffentlichungsanfrage können mehrere Nachrichten enthalten sein. Für diese Nachrichten wird kein zusätzliches Kontingent berechnet.

Wenn Nachrichten Reihenfolgeschlüssel haben, beträgt der maximale Publisher-Durchsatz 1 MB/s pro Reihenfolgeschlüssel.

Pull-Abonnentendurchsatz pro Region
  • 24.000.000 KB pro Minute (400 MB/s) in großen Regionen
  • 6.000.000 KB pro Minute (100 MB/s) in kleinen Regionen
Die Kontingentnutzung beruht auf der Größe der zurückgegebenen PubsubMessages:
Bestätigungsdurchsatz pro Region
  • 24.000.000 KB pro Minute (400 MB/s) in großen Regionen
  • 6.000.000 KB pro Minute (100 MB/s) in kleinen Regionen
Die Kontingentnutzung beruht auf der Größe der Acknowledge- und ModifyAckDeadline-Anfragen:
Push-Abonnentendurchsatz pro Region
  • 1.200.000 KB pro Minute (20 MB/s) in großen Regionen
  • 300.000 KB pro Minute (5 MB/s) in kleinen Regionen
Bei Push-Zustellungsanfragen an den Push-Endpunkt richtet sich die Kontingentnutzung nach der Größe der an den Push-Endpunkt gesendeten PubsubMessages.
StreamingPull-Abonnentendurchsatz pro Region
  • 24.000.000 KB pro Minute (400 MB/s) in großen Regionen
  • 6.000.000 KB pro Minute (100 MB/s) in kleinen Regionen
Die Kontingentnutzung beruht auf der Größe der PubsubMessages, die an den Abonnenten gestreamt werden:

Für Clientbibliotheken werden nach Möglichkeit Vorgänge vom Typ StreamingPull verwendet.

Anzahl der offenen StreamingPull-Verbindungen pro Region
  • 24.000 gleichzeitig offene Verbindungen in großen Regionen
  • 6.000 gleichzeitig offene Verbindungen in kleinen Regionen
Die Anzahl der offenen StreamingPull-Verbindungen zu einem beliebigen Zeitpunkt. Siehe StreamingPull.
Verwaltungsvorgänge 6.000 pro Minute (100 Vorgänge pro Sekunde) Für jeden Verwaltungsvorgang wie etwa GetTopicRequest wird diesem Kontingent eine Einheit angerechnet.

Get*, List*, Create*, Delete*, ModifyPushConfig, SetIamPolicy, GetIamPolicy, TestIamPermissions und DetachSubscription sind Verwaltungsvorgänge.

Durchsatzkontingenteinheiten

Die Nutzung von Durchsatzkontingenten wird in Einheiten von 1 KB gemessen. 1 KB entspricht 1.000 Byte. Beispiel: In einer PublishRequest mit 105 Nachrichten mit jeweils 50 Byte beträgt die Nutzerdatengröße 105 * 50 bytes = 5250 bytes. Die Kontingentnutzung beläuft sich also auf max(1kB, ceil(5250 bytes/1000)) = 6kB.

Ressourcenlimits

Ressource Limits
Projekt 10.000 Themen
10.000 angehängte oder getrennte Abos
5.000 Snapshots
Thema 10.000 angehängte Abos
5.000 angehängte Snapshots
Abo Behält unbestätigte Nachrichten ab ihrer Veröffentlichung für 7 Tage im nichtflüchtigen Speicher. Die Anzahl der gespeicherten Nachrichten ist unbegrenzt.
Abos, bei denen 31 Tage lang keine Clientpräsenz erkannt wurde, werden unter Umständen automatisch gelöscht. Die Präsenz wird durch Aufrufe wie Pull oder Acknowledge sowie durch erfolgreiche Push-Vorgänge erkannt.
Veröffentlichungsanfrage 10 MB (Gesamtgröße)
1.000 Nachrichten
Nachricht Nachrichtengröße (Feld data): 10 MB
Attribute pro Nachricht: 100
Attributschlüsselgröße: 256 Byte
Attributwertgröße: 1.024 Byte
Ausstehende Push-Nachrichten 3,000 * N, wobei N die Anzahl der Veröffentlichungsregionen ist. Weitere Informationen finden Sie unter Push-Abos verwenden.
StreamingPull-Streams 10 MB/s pro offenem Stream
Pull-/StreamingPull-Nachrichten Der Dienst kann Limits festlegen, die die Gesamtzahl der pro Verbindung ausstehenden StreamingPull-Nachrichten regeln. Wenn Sie ein solches Limit erreichen, können Sie die Rate, mit der Sie Nachrichten bestätigen, und die Anzahl der verwendeten Verbindungen erhöhen.

Tipps und Einschränkungen

Vorgänge mit hohem Volumen

Wenn Sie das gcloud-Tool von Cloud SDK mit einem normalen Nutzerkonto – keinem Dienstkonto – verwenden, sind Pub/Sub-Vorgänge auf eine für manuelle Vorgänge geeignete Rate beschränkt. Raten, die dieses Limit überschreiten, führen zum Fehler RESOURCE_EXHAUSTED. Dies können Sie durch die Verwendung von Anmeldedaten für ein Dienstkonto verhindern. Wenn Sie zur Automatisierung die Anmeldedaten des Cloud SDK verwenden möchten, aktivieren Sie ein Dienstkonto für Ihre Pub/Sub-Vorgänge.

Kontingentabweichungen

Kontingentabweichungen können auftreten, wenn veröffentlichte oder empfangene Nachrichten kleiner als 1.000 Byte sind. Beispiel:

  • Wenn Sie zehn Nachrichten mit je 500 Byte in separaten Anfragen veröffentlichen, beträgt Ihre Kontingentnutzung als Publisher 10.000 Byte. Das liegt daran, dass Nachrichten unter 1.000 Byte automatisch auf 1.000 Byte aufgerundet werden.

  • Wenn Sie die zehn Nachrichten innerhalb einer einzelnen Pull-Antwort empfangen, beträgt Ihre Kontingentnutzung als Abonnent möglicherweise nur 5 KB. Dies liegt daran, dass für die Bestimmung des Gesamtkontingents die Nachrichten in ihrer tatsächlichen Größe zusammengefasst werden.

  • Auch das Gegenteil kann der Fall sein. Die Kontingentnutzung als Abonnent kann über der Kontingentnutzung als Publisher liegen, wenn Sie mehrere Nachrichten in einer einzelnen Veröffentlichungsanfrage veröffentlichen oder die Nachrichten in separaten Pull-Anfragen empfangen.