Quotas et limites

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

  • Les quotas ont des valeurs par défaut, mais vous pouvez généralement demander des ajustements.
  • 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 des quotas Cloud.

Google Cloud propose également des quotas d'essai sans frais 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 sur les quotas Cloud.

Pour obtenir des informations spécifiques aux quotas imposés par AlloyDB, consultez Quotas de débit et Quotas de ressources.

Il existe également des limites pour les ressources AlloyDB. Contrairement aux quotas, les limites système ne peuvent pas être modifiées.

Autorisations de vérification et de modification des quotas

Pour consulter vos quotas, vous devez disposer de l' serviceusage.quotas.get autorisation.

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

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 quotasprédéfini.

Vérifier les quotas

Par défaut, le tableau des quotas de la Google Cloud console 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 Filtre du tableau.

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

  1. Dans la Google Cloud console, 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 API AlloyDB ne s'affiche pas, 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. Saisissez 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 demande.

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 à toutes les requêtes pour un groupe d'une ou plusieurs méthodes d'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 Google Cloud CLI ou la Google Cloud console, 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 le maximum d'un quota de débit à tout moment dans les 60 secondes, vous devez attendre que ce 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 avec le motif 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 seule 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.

La plage de quotas par défaut pour chaque groupe est la suivante :

Nom du groupe Description Plage de quotas 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
API Get Lire une seule ressource. 180-1000
  • projects.locations.clusters.get
  • projects.locations.clusters.instances.get
  • projects.locations.backups.get
  • projects.locations.get
API Get operation Récupérer le dernier état d'une opération de longue durée. 950-2000
  • projects.locations.operations.get
API List 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épertorier les opérations qui correspondent à un filtre spécifique dans la requête. 2200-3000
  • projects.locations.operations.list
API Mutate Modifier l'état d'une 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 permettent de restreindre l'utilisation des ressources qui ne sont pas soumises à un taux d'utilisation, tel que le nombre d'instances de machine virtuelle (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 plutôt prendre des mesures pour libérer les ressources inutilisées, par exemple en supprimant un cluster inutile.

Les 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 acceptée pour ce quota est de 20 clusters par projet et par région.

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

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

Quotas de ressources sur les processeurs virtuels

Ce quota s'applique au nombre de processeurs virtuels par projet et par région. Chaque instance consomme une certaine quantité 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 effectuez une requête de création ou de mise à jour d'instance à l'aide de la Google Cloud console, de gcloud CLI, ou de l'API AlloyDB, et que cela entraîne une violation de quota, la requête échoue et renvoie un message d'erreur semblable à celui-ci :

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 accepté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 une violation de quota, la requête échoue et renvoie le message d'erreur suivant :

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 limite, envoyez une demande d'assistance.

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

1 000 par défaut ; réglable 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 flag max_connections sur une valeur plus élevée.

Le tableau suivant vous permet de 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

Avant de définir la valeur, tenez compte des points suivants :

  • Lorsque vous définissez le flag 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 regroupement de connexions tel que pgbouncer ou pgpool-II.
  • Nous vous recommandons d'ajouter un regroupement de connexions côté application, tel que HikariCP ou c3p0.
  • Si vous décidez de définir une valeur supérieure aux recommandations (jusqu'à 240 000), tenez compte de la consommation de mémoire supplémentaire pour chaque connexion active, laquelle peut réduire la mémoire allouée au 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 le flag work_mem. La valeur par défaut de ce flag 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 Google Cloud produits) 10 000
Taille maximale de chaque requête 1 Mio