AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Pourquoi un message "Too many connections error" s’affiche-t-il lorsque je me connecte à mon instance Amazon Aurora MySQL ?
Je souhaite me connecter à mon instance de base de données Amazon Aurora édition compatible avec MySQL, mais je reçois un message d'erreur "Too many connections". Je souhaite connaître la valeur de connexion maximum pour mon instance de base de données et savoir comment la modifier.
Brève description
Lorsque le nombre de connexions client dépasse la valeur du paramètre max_connections dans l'instance de base de données, vous recevez le message d’erreur "Too many connections".
Pour résoudre ce problème, commencez par afficher tous les threads qui s'exécutent sur votre instance de base de données. Puis, activez la journalisation sur votre instance de base de données. Examinez les connexions existantes et mettez fin aux connexions inutiles pour réduire la pression de connexion. Ajustez également vos paramètres de connexion MySQL. Si le problème persiste, augmentez le nombre maximum de connexions à votre instance de base de données.
Résolution
Afficher toutes les requêtes et tous les threads qui s'exécutent sur votre instance de base de données
Affichez toutes les requêtes qui s'exécutent sur l'instance de base de données. Puis, vérifiez la valeur de Threads_Connected pour afficher le nombre de connexions ouvertes. Pour plus d'informations, consultez la page Threads_connected sur le site Web de MySQL.
Pour MySQL 5.7, exécutez la commande suivante :
mysql> SELECT variable_value AS Threads_Connected FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name='threads_connected';
Pour MySQL 8.0, exécutez la commande suivante :
mysql> SELECT variable_value AS Threads_Connected from performance_schema.global_status where VARIABLE_NAME = 'threads_connected';
Remarque : Étant donné qu’Aurora peut se connecter à la base de données depuis l'utilisateur administratif rdsadmin, la valeur de threads_connected peut être supérieure à max_connections.
Il est recommandé d'utiliser threads_connected ou information_schema.processlist à la place de DatabaseConnections. Les paramètres threads_connected et information_schema.processlist indiquent les connexions MySQL disponibles utilisées par les autres clients.
DatabaseConnections affiche le nombre total de connexions TCP à distance, mais ne tient pas compte des connexions en veille ni des sessions que le moteur de base de données crée pour ses propres besoins. Par conséquent, la valeur de DatabaseConnections peut être inférieure au nombre d'opérations effectuées par les threads MySQL.
Activer la journalisation sur votre instance de base de données
Activez la journalisation sur votre instance de base de données Aurora compatible avec MySQL pour identifier la cause racine du nombre croissant de connexions. Vous pouvez activer journal général_log, slow_query_log ou les paramètres du journal d’audit avancé.
Mettre fin aux connexions inutiles sur votre instance de base de données
Utilisez les commandes rds_kill et rds_kill_query pour mettre fin aux sessions utilisateur et aux requêtes inutiles qui s'exécutent sur votre instance de base de données.
Ajuster vos paramètres de connexion MySQL
Ajustez les paramètres de connexion MySQL suivants pour votre instance de base de données en fonction de vos valeurs préférées :
- wait_timeout
- interactive_timeout
- net_read_timeout
- net_write_timeout
- max_execution_time
- max_connect_errors
- max_user_connections
Pour plus d'informations sur chacun des paramètres précédents, consultez la page Variables système du serveur sur le site Web de MySQL.
Augmenter le nombre maximum de connexions à votre instance de base de données
Si le problème persiste après avoir ajusté vos paramètres de connexion, augmentez le nombre maximum de connexions à votre instance de base de données. Pour obtenir la valeur de max_connections actuelle pour votre instance de base de données, vérifiez le groupe de paramètres qui est attaché à votre instance de base de données. Ou bien, exécutez la requête suivante :
select @@max_connections;
Aurora MySQL et Amazon Relational Database Service (Amazon RDS) pour les instances de base de données MySQL présentent des niveaux de surcharge de mémoire différents. La valeur de max_connections peut être différente pour les instances de base de données Aurora compatible avec MySQL et Amazon RDS for MySQL qui utilisent la même classe d'instance.
Pour déterminer le nombre maximum de connexions pour votre classe d'instance, utilisez la formule suivante :
max_connections = GREATEST({log(17179869184/805306368)*45},{log(17179869184/8187281408)*1000})
Remarque : L'exemple précédent concerne une instance db.r8g.large Aurora compatible avec MySQL et dotée de 16 Go de mémoire. DBInstanceClassMemory est égal à 17179869184 octets. La valeur actuelle de max_connections est de 1000.
Exemple de résultat :
max_connections = GREATEST(195.56,1000) = 1000
Remarque : Le nombre maximum de connexions pour cette classe d'instance db.r8g.large avec 16 Gio de mémoire est égal à la valeur par défaut.
Augmenter le paramètre max_connections
Remarque : Il n'est pas recommandé d'augmenter la valeur de max_connections au-delà de la valeur par défaut. À la place, mettez à l’échelle votre instance de base de données.
Si vous ne mettez pas à l’échelle votre instance de base de données et que vous choisissez plutôt d'augmenter la valeur de max_connections, procédez comme suit :
- Créez un groupe de paramètres d'instance de base de données personnalisé.
- Associez le groupe de paramètres à votre instance de base de données.
- Augmentez la valeur du paramètre max_connections.
Remarque : Aucune panne ne se produit lorsque vous définissez une valeur de max_connections plus élevée.
Augmenter verticalement votre instance
Si vous dépassez la valeur maximale du paramètre max_connections, il est recommandé de mettre à l’échelle votre classe d'instance de base de données. Votre instance de base de données peut subir une panne lorsqu'elle est mise à l’échelle.
Utiliser les bonnes pratiques pour régler le paramètre max_connections
Si vous avez modifié les paramètres du pool de mémoires tampons et du cache de requêtes pour votre cluster de bases de données, ajustez le quota de connexion pour tenir compte de l'augmentation ou de la diminution de la mémoire disponible sur les instances de base de données.
Définissez le paramètre max_connections sur une valeur légèrement supérieure au nombre maximal de connexions que vous prévoyez d'ouvrir sur chaque instance de base de données.
Si vous avez activé Performance Insights, Performance Schema est automatiquement activé. Il est recommandé d'utiliser la valeur de max_connections par défaut lorsque Performance Schema est activé. Les structures de mémoire de Performance Schema sont automatiquement dimensionnées en fonction de la configuration du serveur.
Important : Performance Insights atteindra sa fin de vie le 30 novembre 2025. Vous pouvez effectuer une mise à niveau vers le mode Avancé de Database Insights avant le 30 novembre 2025. Si vous n'effectuez pas de mise à niveau, les clusters de base de données qui utilisent Performance Insights passeront par défaut au mode Standard de Database Insights. Seul le mode Avancé de Database Insights prendra en charge les plans d'exécution et l’analyse à la demande. Si vos clusters passent par défaut en mode Standard, il est possible que vous ne puissiez pas utiliser ces fonctionnalités sur la console. Pour activer le mode Avancé, consultez les sections Activation du mode Avancé de Database Insights pour Amazon RDS et Activation du mode Avancé de Database Insights pour Amazon Aurora.
Utiliser le proxy Amazon RDS
Si le message d'erreur persiste, utilisez Amazon RDS Proxy pour Aurora afin d'améliorer la capacité de mise à l’échelle de votre application.
Informations connexes
Comment résoudre l'erreur dans Amazon RDS for MySQL ou Aurora compatible avec MySQL ?"Got an error reading communication packets"
- Sujets
- Database
- Balises
- Aurora MySQL
- Langue
- Français
Vidéos associées


Contenus pertinents
- demandé il y a un an
- demandé il y a 3 ans
- demandé il y a 2 ans
- demandé il y a 2 ans
AWS OFFICIELA mis à jour il y a 3 mois