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. Les quotas sont définis par les 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é de ressourcesGoogle 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, les quotas 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. Les quotas 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 effectue les opérations suivantes :

  • Surveille votre consommation de produits et services Google Cloud
  • Limite votre consommation de ces ressources
  • Permet de demander des modifications de la valeur du quota

Dans la plupart des cas, lorsque vous tentez d'utiliser plus d'une ressource 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.

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 utilisation de Google Cloud augmente, vos quotas peuvent augmenter.

Pour en savoir plus sur les quotas, consultez la page Utiliser des quotas.

Pour en savoir plus sur les quotas imposés par AlloyDB, consultez les pages 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érification et de modification des 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 liste les quotas pour tous les services. Vous pouvez vérifier les quotas actuels des ressources AlloyDB de votre projet à l'aide de la liste Filtrer du tableau.

Pour vérifier les quotas actuels des 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 l'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. 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 Admin.

Chaque quota de débit correspond à l'ensemble des requêtes d'un groupe constitué d'une ou de plusieurs méthodes API AlloyDB Admin. 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 votre limite 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 remplis automatiquement par intervalles de 60 secondes (1 minute). Cela signifie que si votre projet atteint une limite maximale de quota 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 Admin sont divisées en six groupes en fonction du type d'opération. Les quotas de débit sont appliqué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 se voit attribuer 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 quota par défaut pour chaque groupe est la suivante:

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
API Get operation Récupérez 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, 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.

Actuellement, des quotas de ressources sont imposés sur le nombre de clusters et de processeurs virtuels utilisés, comme détaillé 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 trois à 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 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 la gcloud CLI ou de l'API AlloyDB Admin, et que cela entraîne un cas de non-respect des quotas, la requête échoue et un message d'erreur semblable au suivant s'affiche:

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 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 de ce quota varie de 128 à 512 vCPU par projet et par région, en fonction de l'historique d'utilisation du projet.

Si vous envoyez une requête de création ou de mise à jour d'instance à l'aide de la console Google Cloud , de la gcloud CLI ou de l'API AlloyDB Admin, et que cela entraîne un cas de non-respect des quotas, la requête échoue et un message d'erreur semblable au suivant 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 To par cluster. La valeur maximale prise en charge 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 avec le message d'erreur suivant:

AlloyDB instance exceeds available storage quota.

Disponibilité des ressources

Les quotas de ressources ne garantissent pas leur disponibilité perpétuelle. 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

Valeur par défaut : 1 000. Valeur maximale : 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 plus élevée.

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

Processeur virtuel Mémoire Valeur max_connections recommandée
2 16 1000
4 32 2000
8 64 4000
16 128 5000
32 256 5000
64 512 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 correspondre ou dépasser 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 vCPU d'instance.
  • Pour les charges de travail impliquant des connexions à court terme, envisagez d'utiliser un pooleur de connexions tel que pgbouncer ou pgpool-II.
  • Nous vous recommandons d'ajouter un pooleur de connexion côté application tel que HikariCP ou c3p0.
  • Si vous décidez de définir la valeur sur une valeur supérieure aux recommandations (jusqu'à 240 000), tenez compte de la consommation de mémoire supplémentaire pour chaque connexion active qui réduirait la mémoire de la mémoire tampon partagée.

    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 de l'instance, selon la valeur la plus élevée.