Quotas et limites

Vous trouverez sur cette page des informations sur les quotas et les limites de Cloud SQL. Les quotas sont appliqués par projet, tandis que les limites sont définies pour l'instance ou le projet.

Quotas

Un quota limite la quantité de ressources Google Cloud que votre projet Google Cloud peut utiliser. Cloud SQL est un exemple de ce type de ressource.

Pour Cloud SQL, les quotas font partie d'un système qui effectue les opérations suivantes :

  • Surveiller votre utilisation ou votre consommation des instances Cloud SQL
  • Restreindre la consommation de ces instances pour des raisons telles que l'équité et la réduction des pics d'utilisation
  • Gérer des configurations qui appliquent automatiquement des restrictions recommandées
  • Fournir un moyen de modifier le quota ou de demander des modifications

Dans la plupart des cas, lorsqu'un quota est dépassé, le système bloque immédiatement l'accès à l'instance concernée et la tâche que vous essayez d'effectuer échoue. Les quotas s'appliquent à chaque projet Google Cloud, et sont partagés entre toutes les instances qui utilisent ce projet.

Autorisations permettant de vérifier et d'augmenter vos quotas

Pour vérifier et augmenter vos quotas, vous devez disposer des autorisations suivantes :

Par défaut, ces autorisations sont incluses dans les rôles IAM de base Éditeur et Propriétaire, ainsi que dans le rôle prédéfini Administrateur de quotas. Si vous avez besoin d'autorisations supplémentaires, contactez votre administrateur de quotas.

Vérifier les quotas

Pour vérifier les quotas actuels associés aux ressources de votre projet, accédez à la page Quotas de la console Google Cloud et filtrez sur l'API Cloud SQL Admin. Ces quotas ne s'appliquent qu'aux appels d'API. Ils n'incluent pas les requêtes de base de données.

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, vous devez envoyer une demande quelques jours avant afin de toujours disposer du quota approprié.

Aucuns frais ne s'appliquent lorsque vous demandez une augmentation de quota. Vos coûts n'augmentent que si vous utilisez plus de ressources.

Pour augmenter vos quotas, procédez comme suit :

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

    Accéder à la page Quotas

  2. Filtrez sur le service API Cloud SQL Admin.

    Si ce service ne s'affiche pas, activez l'API Cloud SQL Admin.

  3. Cochez les cases à côté des quotas que vous souhaitez modifier, puis cliquez sur Modifier les quotas.

  4. Pour chaque quota sélectionné, saisissez la valeur de la limite souhaitée dans le champ Nouvelle limite.

  5. Dans le champ Description de la raison, saisissez un motif pour votre demande d'augmentation de quota, puis cliquez sur Terminé.

  6. Cliquez sur Suivant.

  7. Indiquez votre nom, votre adresse e-mail et votre numéro de téléphone, puis cliquez sur Envoyer la demande.

    Si vous ne parvenez pas à augmenter vos quotas, déposez une demande d'assistance.

Renouvellement des quotas de ressources

Les quotas quotidiens sont réinitialisés à minuit (heure du Pacifique),

Quotas et disponibilité des ressources

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 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 du quota suffisant dans votre projet.

Les quotas de débit

Cloud SQL 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 Cloud SQL Admin.

Chaque quota de débit correspond à toutes les requêtes pour une catégorie d'une ou plusieurs méthodes d'API Cloud SQL Admin. Les quotas de débit sont réinitialisés après un délai propre à Cloud SQL (par exemple, le nombre de requêtes API par minute).

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

Cloud SQL applique et remplit automatiquement les quotas de débit sur des intervalles de 60 secondes. Si votre projet atteint une limite 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 cette catégorie. Si votre projet dépasse cette limite, vous recevez un code d'état HTTP 429 pour le motif suivant : rateLimitExceeded.

L'API Cloud SQL Admin comprend les catégories suivantes :

  • Se connecter : permet de rechercher les valeurs requises pour se connecter à une base de données Cloud SQL.
  • Obtenir : permet de récupérer des informations sur une ressource (par exemple, une instance, une opération ou une sauvegarde).
  • Liste : permet de répertorier les ressources.
  • Modification : permet de créer, modifier et supprimer des ressources.
  • Par défaut par région : permet d'interagir avec une instance Cloud SQL sans s'y connecter, la récupérer, la répertorier ni la modifier.
  • Valeur par défaut : répertorie les options de base de données et les types de machines (niveaux) pour les instances Cloud SQL. Les API de cette catégorie sont globales.

Cloud SQL impose des quotas de débit pour chaque catégorie par minute, par utilisateur et par région. Pour chaque combinaison unique de ces attributs, Cloud SQL impose une limite de débit distincte.

L'API Cloud SQL Admin génère des métriques détaillées qui peuvent vous aider à suivre votre utilisation de l'API, surveiller les performances de votre instance Cloud SQL et de l'API, et identifier les problèmes entre votre instance et l'API. Pour en savoir plus, consultez la section Surveiller l'utilisation des API.

Le tableau suivant fournit des informations sur la métrique, les API et la limite par défaut pour chaque catégorie :

Catégorie Métrique API Limite par défaut
Connecter

sqladmin.googleapis.com/connect

Nombre de requêtes effectuées par minute, par utilisateur et par région pour utiliser les API de cette catégorie.

1000
Get

sqladmin.googleapis.com/get

Nombre de requêtes effectuées par minute, par utilisateur et par région pour utiliser les API de cette catégorie.

500
Liste

sqladmin.googleapis.com/list

Nombre de requêtes effectuées par minute, par utilisateur et par région pour utiliser les API de cette catégorie.

500
Modification

sqladmin.googleapis.com/mutate

Nombre de requêtes effectuées par minute, par utilisateur et par région pour utiliser les API de cette catégorie.

180
Par défaut par région

sqladmin.googleapis.com/
default_per_region

Nombre de requêtes régionales par défaut effectuées par minute, par utilisateur et par région pour utiliser les API de cette catégorie.

180
Par défaut

sqladmin.googleapis.com/default

Nombre de requêtes par défaut effectuées par minute et par utilisateur pour utiliser les API de cette catégorie.

180

Limites

Certaines ressources Cloud SQL non renouvelées régulièrement sont soumises à des restrictions. Elles ne figurent pas sur la page "Quotas" de la console Google Cloud. Certaines limites peuvent être augmentées, d'autres non.

Limites configurables

Instances par projet

Par défaut, vous pouvez avoir jusqu'à 1 000 instances par projet, sauf dans certains cas où une limite de 100 instances peut s'appliquer. Déposez une demande d'assistance si vous souhaitez augmenter cette limite. Les instances dupliquées avec accès en lecture sont considérées comme des instances.

Nous vous recommandons de répartir le nombre d'instances sur plusieurs projets afin de réduire la dépendance aux demandes d'augmentation de quota. Vous éviterez ainsi les blocages potentiels.

Nombre maximal de connexions simultanées

Vous pouvez utiliser l'option max_connections pour configurer une limite de connexions. MySQL autorise un maximum de 32 000 connexions. Pour connaître la limite de connexions de votre instance, connectez-vous à votre base de données et exécutez cette commande : SHOW VARIABLES LIKE "max_connections";

Mises en garde

Utilisation du quota des connecteurs Cloud SQL

Le proxy d'authentification Cloud SQL et les autres connecteurs Cloud SQL utilisent le quota de l'API Cloud SQL Admin. Les connecteurs Cloud SQL fonctionnent en exécutant une opération d'actualisation environ toutes les heures. Cette opération d'actualisation effectue deux appels d'API : l'un récupérant les métadonnées de l'instance, l'autre un certificat éphémère.

L'utilisation du quota est calculée comme suit :

Quota usage = connector processes running * instances * 2 API calls per hour

Par exemple, si trois processus exécutent un connecteur, que celui-ci est configuré pour se connecter à deux instances Cloud SQL et que deux appels d'API sont effectués pendant une heure, votre consommation de quota est de 12 (3 processus * 2 instances * 2 appels d'API).

Si vous commencez tout juste à utiliser Cloud SQL, notez la formule ci-dessus et soyez attentif aux points suivants :

  • La vitesse à laquelle vous faites évoluer les nouveaux clients de base de données

  • La vitesse d'ajout des instances

  • L'utilisation de comptes de service différents pour chaque application

Authentification IAM pour les bases de données dans Cloud SQL

Chaque instance dispose d'un quota de connexion par minute, qu'il s'agisse de connexions réussies ou pas. Lorsque le quota est dépassé, les connexions sont temporairement indisponible. Nous vous recommandons d'éviter les connexions fréquentes et de restreindre les connexions à l'aide de réseaux autorisés. Le quota d'autorisation de connexions est de 12 000 par minute et par instance.

Quota de règle de transfert

Chaque instance Cloud SQL se compose d'une règl de transfert et d'un équilibreur de charge. Une limite de quota s'applique à la règle de transfert, en fonction du type d'équilibreur de charge vers lequel elle pointe. Il existe plusieurs quotas pour chaque type de règle de transfert, par projet, par réseau et par groupe d'appairage. Il existe également une règle de forçage pour les quotas par réseau et par groupe d'appairage, pour Cloud SQL. Cela signifie que lorsque nous atteignez le quota par réseau pour les réseaux de producteurs, le quota par groupe d'appairage est également augmenté à la même valeur.

Le VPC de producteurs Cloud SQL est appairé au VPC du client. Nous atteignons donc souvent le quota par réseau pour le réseau de producteurs Cloud SQL et le quota de groupe d'appairage pour le VPC du client.

Lorsque le quota est atteint, certaines opérations peuvent échouer, y compris les suivantes :

  • Opération de création : nous avons besoin de nouvelles règles de transfert lorsque nous créons de nouvelles instances.

  • Opération de mise à jour : nous permettons aux clients de changer de réseau d'instances. Nous avons donc besoin de nouvelles règles de transfert dans le nouveau réseau.

  • Opération de maintenance : les règles de transfert sont recréées.

Pour éviter tout problème, nous vous recommandons de limiter le nombre total d'instances par réseau à moins de 500.

Si vous rencontrez un problème, déposez une demande d'assistance. Nous augmenterons le quota en fonction de vos besoins.

Limites fixes

IOPS

Les IOPS correspondent au nombre d'opérations d'entrée/de sortie (ou de lecture/écriture) que votre disque peut traiter par seconde.

Cloud SQL utilise des machines virtuelles (VM) Compute Engine équipées de disques de stockage persistants. Pour en savoir plus sur les caractéristiques de performances spécifiques des VM, consultez le tableau du nombre maximal d'IOPS soutenues sur la page Performances des disques persistants.

Limites des tables

Cloud SQL pour MySQL impose une limite de 50 000 tables par défaut, ou 500 000 tables pour une instance si vous respectez une configuration matérielle d'au moins 32 cœurs et 200 Go de mémoire. Pour des performances optimales, nous vous recommandons de ne pas cumuler plus de 50 000 tables dans une même base de données.

Les instances qui dépassent ces limites ne sont pas couvertes par le contrat de niveau de service. Lorsqu'une table atteint la taille de 16 To, soit la taille maximale pour une partition Linux, il n'est plus possible d'ajouter des données.

La mémoire requise par votre instance dépend de différents facteurs. Pour en savoir plus sur la manière dont Cloud SQL pour MySQL utilise la mémoire, consultez la page Utilisation de la mémoire par MySQL.

Si le nombre de vos tables actives est supérieur aux valeurs par défaut de Cloud SQL, ou si la taille globale du cache est considérable, vous devez ajuster votre instance. Pour maintenir des performances optimales, vous pouvez :

  • passer à l'édition Cloud SQL Enterprise Plus pour bénéficier d'options de mémoire plus élevées ;
  • mettre à niveau votre machine Cloud SQL pour ajouter de la mémoire à votre instance ;
  • réduire la valeur de l'option de base de données innodb_buffer_pool_size.

Les options table_open_cache et table_definition_cache peuvent être utilisées pour modifier le cache de la table Cloud SQL pour MySQL. Vous pouvez utiliser le schéma de performance pour obtenir une estimation de la taille du cache des tables pour votre instance.

Si le nombre de tables actives est considérablement plus élevé que les valeurs par défaut des tables Cloud SQL et du nombre de tables ouvertes recommandé par MySQL, Cloud SQL recommande de configurer les options de base de données table_open_cache et table_definition_cache sur le nombre de tables actives de votre instance. Pour en savoir plus, consultez la page Ouverture et fermeture de tables par MySQL.

Limite sur les opérations

Les types de machines de niveaux "micro" et "small" limitent le nombre d'opérations simultanées. Le dépassement de ces limites entraîne une erreur Too many operations.

Le type de machine db-custom-1-3840 (processeur unique) est limité à 50 opérations simultanées.

Le type de machine f1-micro (processeur à cœur partagé) est limité à 20 opérations simultanées.

Limites de stockage de Cloud SQL

Options de stockage de Cloud SQL

Pour configurer une option de stockage et obtenir des performances optimales, il est important de comprendre votre charge de travail, et de choisir la taille et le type de disque appropriés. Pour en savoir plus sur les options disponibles pour Cloud SQL, consultez les paramètres des instances.

Limites d'App Engine

Chaque instance App Engine exécutée dans un environnement standard ne peut pas avoir plus de 100 connexions simultanées à une instance. Pour les applications en PHP 5.5, la limite est de 60 connexions simultanées.

Les applications App Engine sont soumises à des délais de requêtes selon l'utilisation et l'environnement. Pour en savoir plus, découvrez comment les instances sont gérées dans les environnements standard et flexible d'App Engine.

Les applications App Engine sont également soumises à d'autres quotas et limites App Engine, comme indiqué sur la page Quotas d'App Engine.

Limites de Cloud Run

Si vous utilisez la connexion Cloud SQL intégrée sur Cloud Run, les instances de conteneur Cloud Run sont limitées à 100 connexions par base de données Cloud SQL.

Chaque instance d'un job ou d'un service Cloud Run peut avoir 100 connexions à la base de données, et le nombre total de connexions par déploiement peut augmenter à mesure que ce service ou ce job évolue.

Cette limite ne s'applique pas lorsque vous utilisez d'autres méthodes de connexion, telles que le proxy d'authentification Cloud SQL dans un sidecar, les connecteurs de langage Cloud SQL ou lorsque vous vous connectez directement à l'adresse IP de l'instance Cloud SQL.

Limites des fonctions Cloud Run

Dans Cloud Run Functions (1re génération), les exécutions simultanées sont limitées à une par instance. Il n'arrive jamais qu'une seule instance de fonction 1re génération traite deux requêtes en même temps. Dans la plupart des cas, une seule connexion à la base de données suffit.

Cloud Run Functions (2e génération) est basé sur Cloud Run et a une limite de 100 connexions de base de données par instance.