API-Ratenlimits

Durch eine Begrenzung der API-Rate können Sie festlegen, wie viele Anfragen maximal an die Google Compute Engine API gesendet werden können. Die Begrenzung ist auf Projektbasis gültig. Auch bei der Nutzung von gcloud compute oder der Google Cloud Platform Console kommt es zu Anfragen an die API, die auf die API-Rate angerechnet werden. Dasselbe gilt für Zugriffe auf die API über Dienstkonten.

Die derzeit für die jeweiligen Kategorien von API-Anfragen gültigen Limits sind unten aufgeführt. Jede Kategorie wird separat gezählt, sodass Sie das Limit in den jeweiligen Kategorien gleichzeitig erreichen können: Ratenlimits werden in einem Intervall von 100 Sekunden durchgesetzt. Bei 20 Anfragen pro Sekunde würde sich also übertragen auf 100 Sekunden ein Limit von 2.000 Anfragen ergeben. Wenn Sie an einem beliebigen Punkt innerhalb von 100 Sekunden ein bestimmtes Limit erreichen, können Sie keine weiteren Anfragen senden, sondern müssen erst warten, bis Ihr Kontingent-Bucket aktualisiert wurde.

  • Abfragen – Limits für alle Methoden außer den *.get- und *.list-Methoden:
    • Rate pro Projekt: 20 Anfragen/Sekunde
    • Rate pro Nutzer: 20 Anfragen/Sekunde
  • Leseanfragen – Limits für *.get-Methoden:
    • Rate pro Projekt: 20 Anfragen/Sekunde
    • Rate pro Nutzer: 20 Anfragen/Sekunde
  • Listenanfragen – Limits für *.list-Methoden:
    • Rate pro Projekt: 20 Anfragen/Sekunde
    • Rate pro Nutzer: 20 Anfragen/Sekunde
  • Vorgangsleseanfragen – Limits für *OperationsService.Get-Methoden:
    • Rate pro Projekt: 20 Anfragen/Sekunde
    • Rate pro Nutzer: 20 Anfragen/Sekunde
  • Umfangreiche Leseanfragen – Limits für *.AggregatedList-Methoden:
    • Rate pro Projekt: 10 Anfragen/Sekunde
    • Rate pro Nutzer: 10 Anfragen/Sekunde
  • Umfangreiche Mutationsanfragen – Limits für patch-, delete- und insert-Methoden für die InterconnectsService- und InterconnectAttachmentsService-Funktionen:
    • Rate pro Projekt: 10 Anfragen/Sekunde
    • Rate pro Nutzer: 10 Anfragen/Sekunde
  • SimulateMaintenanceEvent-Anfragen für Instanz – Limits für *.SimulateMaintenanceEvent-Methoden:
    • Rate pro Projekt: 2 Anfragen/Sekunde
    • Rate pro Nutzer: 2 Anfragen/Sekunde
  • Lizenzeinfügeanfragen – Limits für *.LicensesService.Insert-Methoden:
    • Rate pro Projekt: 2 Anfragen/Sekunde
    • Rate pro Nutzer: 2 Anfragen/Sekunde

Wenn Sie ein höheres Ratenlimit für API-Anfragen benötigen, können Sie über die Google Cloud Platform Console eine Erhöhung anfordern.

Best Practices

Die folgenden Best Practices sollen die Verwendung von API-Ratenlimits in Google Compute Engine erleichtern.

  • Verwenden Sie Bursting sparsam und selektiv. Bursting bedeutet, dass ein bestimmter Client in kurzer Zeit viele API-Anfragen ausführen darf. Normalerweise ist dies eine Maßnahme in außergewöhnlichen Situationen, z. B. wenn Ihre Anwendung mehr Datenverkehr als gewöhnlich verarbeiten muss. Bursting führt zu einem schnellen Verbrauch Ihres API-Ratenlimits. Sie sollten diese Funktion nur verwenden, wenn es unbedingt notwendig ist.

  • Verwenden Sie ein clientseitiges Ratenlimit. Damit wird ein künstliches Limit definiert, das der betreffende Client nicht überschreiten darf. Er hat dann nur ein bestimmtes Kontingent zur Verfügung. Dadurch wird verhindert, dass ein einzelner Client das gesamtes Kontingent verbraucht.

  • Verwenden Sie exponentielles Backoff, um den Abstand zwischen den Anfragen stufenweise zu erhöhen, sobald das Kontingent erreicht wurde. Das gibt dem Server Zeit, die Kontingent-Buckets wieder aufzufüllen.

  • Vermeiden Sie kurze Abfrageintervalle, bei denen Ihre Clients fortlaufend Anfragen an den Server senden, ohne auf Antwort zu warten. Bei kurzen Abfrageintervallen wird es schwieriger, fehlerhafte Anfragen abzufangen, die keine nützlichen Daten zurückgeben, aber dennoch auf Ihr Kontingent angerechnet werden.

  • Teilen Sie Ihre Anwendungen auf mehrere Projekte auf. Da Kontingente auf Projektebene angewendet werden, können Sie Ihre Anwendungen so aufteilen, dass jede Anwendung über einen eigenen Kontingentpool verfügt.

  • Wenn Sie einen 403-Fehler mit der Fehlermeldung rateLimitExceeded erhalten, warten Sie einige Sekunden, bevor Sie die Anfrage wiederholen. Kontingent-Buckets werden alle 100 Sekunden neu aufgefüllt. Nach Ablauf dieses Intervalls sollte Ihre Anfrage erfolgreich sein.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation