Quotas et limites

Ce document liste les quotas et limites système qui s'appliquent à AlloyDB pour PostgreSQL.

  • Les quotas spécifient la quantité d'une ressource partagée dénombrable que vous pouvez utiliser. Ils sont définis par des services Google Cloud tels qu'AlloyDB pour PostgreSQL.
  • Les limites système sont des valeurs fixes qui ne peuvent pas être modifiées.

Quotas

Google Cloud utilise des quotas pour garantir l'équité et réduire les pics d'utilisation et de disponibilité des ressources. Un quota limite la quantité d'une ressourceGoogle Cloud que votre projet Google Cloud peut utiliser. Les quotas s'appliquent à différents types de ressources, y compris les composants matériels, logiciels et réseau. Par exemple, ils peuvent limiter le nombre d'appels d'API à un service, le nombre d'équilibreurs de charge utilisés simultanément par votre projet ou le nombre de projets que vous pouvez créer. Ils protègent la communauté des utilisateurs deGoogle Cloud en empêchant la surcharge des services. Les quotas vous aident également à gérer vos propres ressources Google Cloud .

Le système Cloud Quotas permet d'effectuer les opérations suivantes :

Dans la plupart des cas, lorsque vous tentez d'utiliser une ressource plus que son quota ne le permet, le système bloque l'accès à la ressource et la tâche que vous essayez d'effectuer échoue.

Les quotas s'appliquent généralement au niveau du projet Google Cloud . Votre utilisation d'une ressource dans un projet n'affecte pas votre quota disponible dans un autre projet. Dans un projet Google Cloud , les quotas sont partagés entre toutes les applications et adresses IP.

Pour en savoir plus, consultez la présentation de Cloud Quotas.

Google Cloud propose également des quotas d'essai gratuits qui offrent un accès limité aux projets pour vous permettre d'explorer Google Cloud sans frais.

Tous les projets ne sont pas soumis aux mêmes quotas. Si votre Google Cloud utilisation augmente, vos quotas peuvent augmenter.

Pour en savoir plus sur les quotas, consultez la documentation Cloud Quotas.

Pour en savoir plus sur les quotas imposés par AlloyDB, consultez Quotas de débit et Quotas de ressources.

Des limites s'appliquent également aux ressources AlloyDB. Contrairement aux quotas, les limites système ne peuvent pas être modifiées.

Autorisations de vérifier et modifier les quotas

Pour consulter vos quotas, vous devez bénéficier d'une autorisation serviceusage.quotas.get.

Pour modifier vos quotas, vous devez disposer de l'autorisation serviceusage.quotas.update.

Ces autorisations sont incluses par défaut dans les rôles IAM de base Propriétaire et Éditeur, ainsi que dans le rôle Administrateur de quotas prédéfini.

Vérifier les quotas

Par défaut, le tableau des quotas de la console Google Cloud répertorie les quotas de tous les services. Vous pouvez vérifier les quotas actuels pour les ressources AlloyDB de votre projet à l'aide de la liste Filtrer du tableau.

Pour vérifier les quotas actuels associés aux ressources AlloyDB de votre projet, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Quotas.

    Accéder à la section "Quotas"

  2. Dans le tableau des quotas, cliquez sur Filtrer.

  3. Sélectionnez Service dans la liste Propriétés, puis API AlloyDB dans la liste Valeurs.

Augmenter les quotas

À mesure que votre utilisation de Google Cloud s'accroît, les quotas peuvent augmenter en conséquence. Si vous prévoyez une augmentation importante de l'utilisation, envoyez une demande quelques jours avant afin de toujours disposer du quota approprié.

  1. Sur la page Quotas, cliquez sur Filtrer.
  2. Sélectionnez Service dans la liste Propriétés, puis API AlloyDB dans la liste Valeurs.

    Si la mention API AlloyDB ne figure pas dans la liste, cela signifie que l'API AlloyDB Admin n'est pas activée.

  3. Sélectionnez les quotas que vous souhaitez modifier.

  4. Cliquez sur Modifier les quotas.

  5. Indiquez votre nom, votre adresse e-mail et votre numéro de téléphone, puis cliquez sur Suivant.

  6. Saisissez votre demande de quota, puis cliquez sur Envoyer la requête.

Les quotas de débit

AlloyDB accepte les quotas de débit, également appelés limites de débit ou quotas d'API. Les quotas de débit définissent le nombre de requêtes que vous pouvez envoyer à l'API AlloyDB.

Chaque quota de débit correspond à l'ensemble des requêtes d'un groupe constitué d'une ou de plusieurs méthodes de l'API AlloyDB. Les quotas de débit sont réinitialisés après un délai spécifique au service (par exemple, le nombre de requêtes API par jour).

Lorsque vous utilisez la Google Cloud CLI ou la console Google Cloud , vous envoyez des requêtes à l'API. Ces requêtes sont comptabilisées dans vos limites de débit. Si vous utilisez des comptes de service pour accéder à l'API, ces requêtes sont également comptabilisées dans votre limite de débit.

Les quotas de débit sont appliqués et réinitialisés automatiquement par intervalles de 60 secondes (1 minute). Cela signifie que si votre projet atteint une limite maximale de débit à tout moment dans un délai de 60 secondes, vous devez attendre que le quota soit réinitialisé avant d'effectuer d'autres requêtes dans ce groupe. Si votre projet dépasse une limite de débit, vous recevez un code d'état HTTP 429 pour le motif suivant : rateLimitExceeded.

Les API AlloyDB sont divisées en six groupes en fonction du type d'opération. Les quotas de débit sont imposés par minute, par groupe d'API, par projet, par région et par utilisateur. Pour chaque combinaison unique de ces attributs, AlloyDB impose un quota distinct. Par exemple, si 100 utilisateurs accèdent aux API Mutate en une minute pour un projet et une région donnés, chaque utilisateur reçoit un quota par défaut compris entre 180 et 250 requêtes par minute pour chaque combinaison de projet et de région.

Voici la plage de quotas par défaut pour chaque groupe :

Nom du groupe Description Plage de quota par défaut en requêtes par minute Méthodes d'API
API Connect Établir de nouvelles connexions. 180-2000
  • projects.locations.clusters.generateClientCertificate
  • projects.locations.clusters.instances.getConnectionInfo
Obtenir des API Lire une seule ressource. 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
Obtenir l'API d'opération Récupère le dernier état d'une opération de longue durée. 950-1400
  • projects.locations.operations.get
Répertorier les API Lire un groupe de ressources du même type. 180-1000
  • projects.locations.clusters.list
  • projects.locations.clusters.instances.list
  • projects.locations.backups.list
  • projects.locations.supportedDatabaseFlags.list
  • projects.locations.list
API List operations Répertorie les opérations qui correspondent à un filtre spécifique dans la requête. 2200-3000
  • projects.locations.operations.list
API de mutation Modifier l'état de la ressource. 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

Quotas de ressources

AlloyDB accepte les quotas de ressources, également appelés quotas d'allocation. Les quotas de ressources représentent le nombre maximal de ressources que vous pouvez créer pour un type de ressources donné, sous réserve de disponibilité. Les quotas de ressources limitent l'utilisation des ressources qui ne sont pas soumises à un taux d'utilisation, comme le nombre d'instances de machines virtuelles (VM) utilisées par votre projet à un moment donné.

Les quotas de ressources ne sont pas réinitialisés au fil du temps. Vous devez à la place prendre des mesures pour libérer les ressources inutilisées, par exemple en supprimant un cluster inutile.

Des quotas de ressources sont imposés sur le nombre de clusters et de processeurs virtuels utilisés, comme indiqué dans les sections suivantes.

Quotas de ressources sur les clusters

Ce quota s'applique au nombre de clusters par projet et par région. La valeur par défaut de ce quota varie de 3 à 10 clusters par projet et par région, en fonction de l'historique d'utilisation du projet. La valeur maximale autorisée pour ce quota est de 15 clusters par projet et par région.

Si vous envoyez une requête de création ou de restauration de cluster à l'aide de la console Google Cloud , de gcloud CLI ou de l'API AlloyDB, et que cela entraîne un dépassement de quota, la requête échoue et un message d'erreur semblable à celui-ci s'affiche :

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

Quotas de ressources sur les vCPU

Ce quota s'applique au nombre de vCPU par projet et par région. Chaque instance consomme une partie de ce quota en fonction du nombre de VM qu'elle utilise. Chaque instance principale utilise deux VM. Chaque instance de pool de lecture utilise une VM pour chaque nœud qu'elle contient. Le nombre de processeurs virtuels utilisés par chaque VM est fourni par vous lors de la création ou de la mise à jour de l'instance.

La valeur par défaut du quota pour tous les projets client est de 10 000 processeurs virtuels.

Si vous envoyez une requête de création ou de mise à jour d'instance à l'aide de la console Google Cloud , de gcloud CLI ou de l'API AlloyDB, et que cela entraîne un dépassement de quota, la requête échoue et un message d'erreur semblable à celui-ci s'affiche :

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

Quotas de ressources sur le stockage

Ce quota s'applique à la quantité de données pouvant être stockées dans chaque cluster. La valeur par défaut de ce quota est de 16 Tio par cluster. La valeur maximale autorisée est de 128 Tio par cluster.

Si vous effectuez une requête d'écriture de base de données, telle qu'une instruction INSERT qui entraîne un non-respect du quota, la requête échoue et le message d'erreur suivant s'affiche :

AlloyDB instance exceeds available storage quota.

Disponibilité des ressources

Les quotas de ressources ne garantissent pas la disponibilité systématique des ressources. Si une ressource n'est pas disponible physiquement pour votre région, vous ne pouvez pas créer de ressources de ce type, même si vous disposez d'un quota suffisant dans votre projet.

Limites

Pour demander une augmentation de la limite, envoyez une demande d'assistance.

Élément Limite
Nœuds du pool de lecture par cluster (pour toutes les instances de pool de lecture) 20
Nombre maximal de connexions simultanées par instance

La valeur par défaut est de 1 000. Vous pouvez l'ajuster jusqu'à 240 000.

Nombre maximal de connexions simultanées

AlloyDB limite le nombre maximal de connexions simultanées d'une instance à 1 000, sauf si vous définissez son indicateur max_connections sur une valeur supérieure.

Utilisez le tableau suivant comme guide pour déterminer la valeur maximale des connexions en fonction de la taille de votre instance :

Processeur virtuel Mémoire Valeur max_connections recommandée
1 8 500
2 16 1000
4 32 2000
8 64 4000
16 128 5000
32 256 5000
48 384 5000
64 512 5000
72 576 5000
96 768 5000
128 864 5000

Tenez compte des points suivants avant de définir la valeur :

  • Lorsque vous définissez l'indicateur max_connections sur une instance de pool de lecture, la nouvelle valeur doit être égale ou supérieure à la valeur max_connections de l'instance principale de son cluster.
  • Nous vous recommandons d'exécuter un maximum de quatre requêtes simultanées par processeur virtuel d'instance.
  • Pour les charges de travail impliquant des connexions à court terme, envisagez d'utiliser un pooler de connexions tel que pgbouncer ou pgpool-II.
  • Nous vous recommandons d'ajouter un pooler de connexion côté application tel que HikariCP ou c3p0.
  • Si vous décidez de définir une valeur supérieure à celle recommandée (jusqu'à 240 000), tenez compte de la consommation de mémoire supplémentaire pour chaque connexion active, ce qui réduirait la mémoire du tampon partagé.

    Cette consommation de mémoire peut être calculée en multipliant le nombre de requêtes simultanées par la valeur définie pour l'indicateur work_mem. La valeur par défaut de cet indicateur est 4MB ou le nombre de processeurs virtuels dans l'instance, selon la valeur la plus élevée.

Limites des requêtes enregistrées

Valeur Limite
Nombre maximal de requêtes enregistrées par projet (y compris les requêtes enregistrées pour d'autres produits Google Cloud ) 10 000
Taille maximale de chaque requête 1 Mio