Kontingente und Limits

In diesem Dokument sind die Kontingente und Limits für AlloyDB for PostgreSQL aufgeführt.

  • Kontingente geben an, wie viel einer zählbaren, freigegebenen Ressource Sie verwenden können. Kontingente werden von Google Cloud -Diensten wie AlloyDB for PostgreSQL definiert.
  • Systemlimits sind feste Werte, die nicht geändert werden können.

Kontingente

Google Cloud nutzt Kontingente, um Fairness zu gewährleisten und Spitzen bei Ressourcennutzung und -verfügbarkeit zu reduzieren. Ein Kontingent schränkt ein, wie viel von einerGoogle Cloud -Ressource Ihr Google Cloud -Projekt nutzen darf. Kontingente gelten für eine Reihe von Ressourcentypen, einschließlich Hardware, Software und Netzwerkkomponenten. Mit Kontingenten können Sie beispielsweise die Anzahl der API-Aufrufe an einen Dienst, die Anzahl der von Ihrem Projekt gleichzeitig verwendeten Load Balancer oder die Anzahl der Projekte begrenzen, die Sie erstellen können. Die Kontingente sollen eine Überlastung von Diensten verhindern und dadurch die Community derGoogle Cloud -Nutzer schützen. Außerdem können Sie mithilfe von Kontingenten Ihre eigenen Google Cloud -Ressourcen verwalten.

Das Cloud-Kontingentsystem ermöglicht Folgendes:

  • Verbrauch von Google Cloud -Produkten und ‑Diensten überwachen
  • Ihren Verbrauch dieser Ressourcen einschränken
  • Eine Möglichkeit bieten, Änderungen am Kontingentwert anzufordern

Wenn Sie versuchen, mehr von einer Ressource zu verbrauchen, als das Kontingent zulässt, blockiert das System in den meisten Fällen den Zugriff auf die Ressource. Die Aufgabe, die Sie ausführen möchten, schlägt fehl.

Kontingente gelten in der Regel auf Google Cloud -Projektebene. Ihre Nutzung einer Ressource in einem Projekt hat keinen Einfluss auf Ihr verfügbares Kontingent in einem anderen Projekt. Innerhalb eines Google Cloud -Projekts werden die Kontingente für alle Anwendungen und IP-Adressen gemeinsam genutzt.

Google Cloud bietet außerdem kostenlose Testkontingente, die einen eingeschränkten Zugriff auf Projekte ermöglichen, um Google Cloud kostenlos zu testen.

Es gelten nicht für alle Projekte dieselben Kontingente. Wenn Sie Google Cloud stärker nutzen, können Ihre Kontingente erhöht werden.

Weitere Informationen zu Kontingenten finden Sie unter Mit Kontingenten arbeiten.

Informationen zu AlloyDB-Kontingenten finden Sie unter Ratenkontingente und Ressourcenkontingente.

Für AlloyDB-Ressourcen gelten außerdem Limits. Im Gegensatz zu Kontingenten können Systemlimits nicht geändert werden.

Berechtigungen zum Prüfen und Bearbeiten von Kontingenten

Um Ihre Kontingente aufzurufen, benötigen Sie die Berechtigung serviceusage.quotas.get.

Um Ihre Kontingente zu ändern, ist die Berechtigung serviceusage.quotas.update erforderlich.

Diese Berechtigungen sind standardmäßig in den einfachen IAM-Rollen "Inhaber" und "Bearbeiter" sowie in der vordefinierten Rolle "Kontingentadministrator" enthalten.

Kontingente prüfen

In der Tabelle mit den Kontingenten in der Google Cloud Console sind standardmäßig Kontingente für alle Dienste aufgeführt. Die aktuellen Kontingente für AlloyDB-Ressourcen in Ihrem Projekt finden Sie in der Liste Filter in der Tabelle.

So prüfen Sie die aktuellen Kontingente für AlloyDB-Ressourcen in Ihrem Projekt:

  1. Rufen Sie in der Google Cloud Console die Seite Kontingente auf.

    Kontingente aufrufen

  2. Klicken Sie in der Tabelle „Kontingente“ auf Filter.

  3. Wählen Sie in der Liste Properties die Option Service und dann in der Liste Values die Option AlloyDB API aus.

Kontingente erhöhen

Bei einer intensiveren Nutzung von Google Cloud können Ihre Kontingente entsprechend erhöht werden. Wenn Sie eine deutlich höhere Nutzung erwarten, sollten Sie schon einige Tage vorher entsprechend höhere Kontingente anfordern.

  1. Klicken Sie auf der Seite Kontingente auf Filter.
  2. Wählen Sie in der Liste Properties die Option Service und dann in der Liste Values die Option AlloyDB API aus.

    Wenn Sie die AlloyDB API nicht sehen, wurde die AlloyDB Admin API nicht aktiviert.

  3. Wählen Sie die Kontingente aus, die Sie ändern möchten.

  4. Klicken Sie auf Kontingente bearbeiten.

  5. Geben Sie Ihren Namen, Ihre E-Mail-Adresse und Ihre Telefonnummer ein und klicken Sie auf Weiter.

  6. Geben Sie Ihre Kontingentanfrage ein und klicken Sie auf Anfrage senden.

Ratenkontingente

AlloyDB unterstützt Ratenkontingente, die auch als Ratenbegrenzungen oder API-Kontingente bezeichnet werden. Ratenkontingente definieren die Anzahl der Anfragen, die Sie an die AlloyDB Admin API senden können.

Jedes Ratenkontingent entspricht allen Anfragen für eine Gruppe von einer oder mehreren AlloyDB Admin API-Methoden. Ratenkontingente werden nach einem für den Dienst spezifischen Zeitintervall zurückgesetzt, z. B. die Anzahl der API-Anfragen pro Tag.

Wenn Sie die Google Cloud CLI oder die Google Cloud Console verwenden, stellen Sie Anfragen an die API. Diese Anfragen werden auf Ihre Ratenbegrenzungen angerechnet. Wenn Sie mithilfe von Dienstkonten auf die API zugreifen, werden diese Anfragen auch auf Ihr Ratenlimit angerechnet.

Die Ratenkontingente werden erzwungen und automatisch in 60-Sekunden-Intervallen (1 Minute) neu aufgefüllt. Wenn Ihr Projekt also innerhalb von 60 Sekunden das Maximum eines Ratenkontingents erreicht, müssen Sie warten, bis dieses Kontingent aufgebraucht ist, bevor Sie in dieser Gruppe weitere Anfragen stellen. Wenn Ihr Projekt eine Ratenbegrenzung überschreitet, erhalten Sie den HTTP-Statuscode 429 mit dem Grund rateLimitExceeded.

Die AlloyDB Admin APIs sind je nach Vorgangstyp in sechs Gruppen unterteilt. Die Ratenkontingente gelten pro Minute, API-Gruppe, Projekt, Region und Nutzer. Für jede eindeutige Kombination dieser Attribute gilt ein separates Kontingent. Wenn beispielsweise 100 Nutzer innerhalb einer Minute auf die Mutate APIs für ein bestimmtes Projekt und eine bestimmte Region zugreifen, erhält jeder Nutzer ein Standardkontingent von 180 bis 250 Anfragen pro Minute für jede Kombination aus Projekt und Region.

Der Standardkontingentbereich für jede Gruppe ist:

Gruppenname Beschreibung Standardkontingentbereich in Anfragen pro Minute API-Methoden
Connect APIs Neue Kontakte knüpfen. 180-2000
  • projects.locations.clusters.generateClientCertificate
  • projects.locations.clusters.instances.getConnectionInfo
APIs abrufen Eine einzelne Ressource lesen 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
Get-Vorgang-API Ruft den letzten Status eines lang andauernden Vorgangs ab. 950-1400
  • projects.locations.operations.get
APIs auflisten Eine Gruppe von Ressourcen desselben Typs lesen 180-1000
  • projects.locations.clusters.list
  • projects.locations.clusters.instances.list
  • projects.locations.backups.list
  • projects.locations.supportedDatabaseFlags.list
  • projects.locations.list
List operations API Listet Vorgänge auf, die zu einem bestimmten Filter in der Anfrage passen. 2200-3000
  • projects.locations.operations.list
APIs mutieren Ressourcenstatus ändern 180-250
  • projects.locations.clusters.create
  • projects.locations.clusters.patch
  • projects.locations.clusters.delete
  • projects.locations.clusters.restore
  • projects.locations.clusters.instances.create
  • projects.locations.clusters.instances.patch
  • projects.locations.clusters.instances.delete
  • projects.locations.clusters.instances.failover
  • projects.locations.clusters.instances.restart
  • projects.locations.backups.create
  • projects.locations.backups.patch
  • projects.locations.backups.delete
  • projects.locations.operations.delete
  • projects.locations.operations.cancel

Ressourcenkontingente

AlloyDB unterstützt Ressourcenkontingente, auch als Allokationskontingente bezeichnet. Mit Ressourcenkontingenten wird festgelegt, wie viele Ressourcen eines Typs Sie maximal erstellen können, wenn diese Ressourcen verfügbar sind. Ressourcenkontingente begrenzen die Nutzung von Ressourcen, die keine Nutzungsrate haben, z. B. die Anzahl der VM-Instanzen, die zu einem bestimmten Zeitpunkt von Ihrem Projekt verwendet werden.

Ressourcenkontingente werden nicht nach Ablauf einer bestimmten Zeit zurückgesetzt. Stattdessen müssen Sie Maßnahmen ergreifen, um die nicht verwendeten Ressourcen freizugeben, z. B. einen nicht benötigten Cluster löschen.

Derzeit gelten Ressourcenkontingente für die Anzahl der verwendeten Cluster und vCPUs, wie in den folgenden Abschnitten beschrieben.

Ressourcenkontingente für Cluster

Dieses Kontingent gilt für die Anzahl der Cluster pro Projekt und Region. Der Standardwert für dieses Kontingent liegt je nach Nutzungsverlauf des Projekts zwischen 3 und 10 Clustern pro Projekt und Region. Der maximal unterstützte Wert für dieses Kontingent beträgt 15 Cluster pro Projekt und Region.

Wenn Sie über die Google Cloud Console, die gcloud CLI oder die AlloyDB Admin API eine Anfrage zum Erstellen oder Wiederherstellen eines Clusters stellen und dies zu einem Kontingentverstoß führt, schlägt die Anfrage fehl und Sie erhalten eine Fehlermeldung, die in etwa so lautet:

Quota limit 'ClustersUsedPerProjectPerRegion' has been exceeded. Limit: 5 in region us-central1.

Ressourcenkontingente für vCPUs

Dieses Kontingent gilt für die Anzahl der vCPUs pro Projekt und Region. Jede Instanz belegt einen Teil dieses Kontingents, je nachdem, wie viele VMs sie verwendet. Für jede Primärinstanz werden zwei VMs verwendet. Jede Read Pool-Instanz verwendet eine VM für jeden Knoten, den sie enthält. Die Anzahl der von jeder VM verwendeten vCPUs geben Sie beim Erstellen oder Aktualisieren der Instanz an.

Der Standardwert für dieses Kontingent liegt je nach Nutzungsverlauf des Projekts zwischen 128 und 512 vCPUs pro Projekt und Region.

Wenn Sie über die Google Cloud Console, die gcloud CLI oder die AlloyDB Admin API eine Instanz erstellen oder aktualisieren und dies zu einem Kontingentverstoß führt, schlägt die Anfrage fehl und Sie erhalten eine Fehlermeldung, die in etwa so aussieht:

Quota limit 'VCPUsUsedPerProjectPerRegion' has been exceeded. Limit: 128 in region us-central1.

Ressourcenkontingente für den Speicher

Dieses Kontingent gilt für die Datenmenge, die in jedem Cluster gespeichert werden kann. Der Standardwert für dieses Kontingent beträgt 16 TiB pro Cluster. Der maximal unterstützte Wert beträgt 128 TiB pro Cluster.

Wenn Sie eine Datenbankschreibanfrage stellen, z. B. eine INSERT-Anweisung, die zu einem Kontingentverstoß führt, schlägt die Anfrage mit der folgenden Fehlermeldung fehl:

AlloyDB instance exceeds available storage quota.

Ressourcenverfügbarkeit

Ressourcenkontingente sind keine Garantie dafür, dass jederzeit Ressourcen zur Verfügung stehen. Wenn eine Ressource für Ihre Region physisch nicht verfügbar ist, können Sie keine neuen Ressourcen dieses Typs erstellen, auch wenn in Ihrem Projekt noch ein ausreichendes Kontingent dafür vorhanden ist.

Limits

Fordern Sie einen Supportfall an, um eine Erhöhung des Limits anzufordern.

Element Limit
Lesepoolknoten pro Cluster (über alle Lesepoolinstanzen hinweg) 20
Maximale Anzahl gleichzeitiger Verbindungen pro Instanz

Standardmäßig 1.000, einstellbar bis 240.000

Maximale Anzahl gleichzeitiger Verbindungen

AlloyDB begrenzt die maximale Anzahl gleichzeitiger Verbindungen einer Instanz auf 1.000,es sei denn, Sie legen das Flag max_connections auf einen höheren Wert fest.

Verwenden Sie die folgende Tabelle als Richtlinie, um den Wert für die maximale Anzahl von Verbindungen anhand der Instanzgröße zu bestimmen:

VCPU Speicher Empfohlener max_connections-Wert
2 16 1000
4 32 2000
8 64 4000
16 128 5000
32 256 5000
64 512 5000
96 768 5000
128 864 5000

Beachten Sie die folgenden Hinweise, bevor Sie den Wert festlegen:

  • Wenn Sie das Flag max_connections für eine Instanz des Lesepools festlegen, muss der neue Wert mit dem max_connections-Wert der primären Instanz des Clusters übereinstimmen oder ihn überschreiten.
  • Wir empfehlen, maximal vier gleichzeitige Abfragen pro vCPU der Instanz auszuführen.
  • Für Arbeitslasten mit kurzfristigen Verbindungen sollten Sie einen Verbindungspooler wie pgbouncer oder pgpool-II verwenden.
  • Wir empfehlen, einen anwendungsseitigen Verbindungspooler wie HikariCP oder c3p0 hinzuzufügen.
  • Wenn Sie den Wert auf einen Wert festlegen, der über den Empfehlungen liegt (bis zu 240.000), sollten Sie die zusätzliche Speichernutzung für jede aktive Verbindung berücksichtigen, die den Speicher für den freigegebenen Puffer verringern würde.

    Dieser Speicherverbrauch kann berechnet werden, indem die Anzahl der gleichzeitigen Abfragen mit dem für das work_mem-Flag festgelegten Wert multipliziert wird. Der Standardwert für dieses Flag ist 4MB oder die Anzahl der vCPUs in der Instanz, je nachdem, was höher ist.