Présentation du pool de connexions géré

Cette page explique en quoi consiste le pool de connexions géré (MCP) et comment l'utiliser avec vos instances Cloud SQL.

Le pool de connexions géré (MCP) vous permet d'adapter vos charges de travail en optimisant l'utilisation des ressources et la latence de connexion pour vos instances Cloud SQL pour PostgreSQL à l'aide du pool. Le MCP attribue dynamiquement des connexions de serveur aux requêtes entrantes lorsque cela est possible. Cela améliore considérablement les performances, en particulier pour les connexions à l'échelle, en absorbant les pics de connexion soudains et en réutilisant les connexions de base de données existantes. Au lieu de se connecter à une base de données spécifique, MCP se connecte à un cluster de pooleurs, qui offre des temps de connexion plus courts et une évolutivité pour vos charges de travail. Le nombre de pooleurs utilisés dépend du nombre de cœurs de processeur virtuel de votre instance.

Bien que vous puissiez utiliser le MCP pour tous les charges de travail transactionnelles, il offre le meilleur débit et les meilleurs avantages en termes de latence avec les applications contenant des connexions de courte durée ou celles qui entraînent une augmentation soudaine des connexions.

Pour les connexions de longue durée, les performances de connexion à l'aide de MCP peuvent être légèrement inférieures à celles d'une connexion directe. Dans ce cas, MCP fournit une mise à l'échelle des connexions lorsque le nombre de connexions est très élevé. Toutefois, pour les applications qui établissent généralement des connexions de longue durée, vous pouvez utiliser des connexions directes à votre instance.

Pour en savoir plus sur l'activation du MCP, consultez la section Configurer le pool de connexions géré.

Conditions requises

Pour utiliser MCP, votre instance doit répondre aux exigences suivantes:

  • Votre instance doit être une instance Cloud SQL Enterprise Plus.
  • Vous devez être connecté à votre instance à l'aide d'une connexion directe ou du proxy d'authentification Cloud SQL uniquement.
  • Vous devez être connecté à votre instance à l'aide d'un nom d'utilisateur et d'un mot de passe valides. Les utilisateurs IAM et de groupes IAM ne sont pas compatibles avec MCP.
  • Votre instance doit être configurée pour l'accès aux services privés, utiliser une adresse IP publique ou être une nouvelle instance pour laquelle Private Service Connect est activé.
  • Votre instance doit utiliser la nouvelle architecture réseau Cloud SQL.
  • MCP nécessite un numéro de version de maintenance minimal de POSTGRES_$version.R20250302.00_04. Pour en savoir plus, consultez la section Maintenance en libre-service.

Options de configuration disponibles

MCP propose les options de pool suivantes que vous pouvez définir à l'aide du paramètre POOL_MODE:

  • TRANSACTION (par défaut): regroupe les connexions au niveau des transactions.
  • SESSION: pools les connexions au niveau de la session.

Vous pouvez également personnaliser MCP à l'aide des paramètres de configuration suivants:

  • MAX_POOL_SIZE: taille maximale du pool de connexions. La valeur par défaut est de 50 connexions.
  • MIN_POOL_SIZE: taille du seuil du pool de connexions. Si le nombre de connexions au serveur est inférieur à min_pool_size, ajoutez d'autres connexions au serveur au pool. La valeur par défaut est de 0 connexions.
  • MAX_CLIENT_CONNECTIONS: nombre maximal de connexions autorisé pour votre instance. La valeur par défaut est de 5 000 connexions.
  • CLIENT_CONNECTION_IDLE_TIMEOUT: durée pendant laquelle une connexion client reste inactive avant d'expirer. Cette valeur peut être comprise entre 0 et 2 147 483 secondes, et la valeur par défaut est de 0 seconde.
  • SERVER_CONNECTION_IDLE_TIMEOUT: durée pendant laquelle une connexion au serveur reste inactive avant d'expirer. Cette valeur peut varier de 0 à 2 147 483 secondes, et la valeur par défaut est de 600 secondes.
  • QUERY_WAIT_TIMEOUT: temps d'attente d'une requête avant son expiration. Cette valeur peut varier de 0 à 2 147 483 secondes, et la valeur par défaut est de 120 secondes.
  • MAX_PREPARED_STATEMENTS: nombre maximal de commandes d'instructions préparées nommées au niveau du protocole compatibles en mode pool de transactions. La valeur par défaut est 0.
  • IGNORE_STARTUP_PARAMETERS: paramètres que vous souhaitez ignorer, qui ne sont pas suivis dans les paquets de démarrage de MCP par défaut.
  • SERVER_LIFETIME: durée maximale pendant laquelle une connexion de serveur est inutilisée avant que le MCP ne la ferme. La valeur par défaut est de 3 600 secondes.

Limites

Tenez compte des limites suivantes lorsque vous utilisez MCP avec vos instances Cloud SQL Enterprise Plus:

  • L'activation de MCP sur une instance existante entraîne un redémarrage de la base de données.
  • Lorsque vous utilisez l'API Cloud SQL pour activer, désactiver ou configurer MCP, l'API instance.update ne peut contenir aucune autre mise à jour de la configuration de l'instance.
  • MCP ne peut être utilisé qu'avec la version 2.15.2 ou ultérieure du proxy d'authentification Cloud SQL.
  • Si vous utilisez le connecteur de langage Go Cloud SQL, nous vous recommandons d'utiliser une version Go minimale de 1.24. Si vous utilisez la version 1.23 de Go ou une version antérieure, vous risquez de constater des limitations de performances lorsque vous utilisez MCP.
  • Si vous utilisez MCP en mode pool TRANSACTION, les fonctionnalités SQL suivantes ne sont pas compatibles:

    • SET/RESET
    • LISTEN
    • WITH HOLD CURSOR
    • PREPARE/DEALLOCATE
    • Tables temporaires PRESERVE/DELETE ROW
    • LOAD
    • Verrous d'avertissement au niveau de la session
  • Si vous utilisez la version 17 de Cloud SQL pour PostgreSQL, l'option sslnegotiation=direct n'est pas prise en charge.

Étape suivante