Tous les produits
Search
Centre de documentation

:Comment interroger et limiter le nombre de connexions ?

Dernière mise à jour :Aug 08, 2026

Cette rubrique explique comment vérifier l'utilisation des connexions et limiter le nombre maximal de connexions dans un pool de connexions pour une instance ApsaraDB for MongoDB. Vous pouvez vous connecter aux bases de données ApsaraDB for MongoDB à l'aide de Data Management (DMS) ou du shell mongo.

Interroger le nombre actuel de connexions

Le nombre maximal de connexions autorisées dépend des spécifications de votre instance. Pour plus d'informations, consultez Types d'instance.

La limite maximale de connexions s'applique à chaque nœud individuellement. Par exemple, si vous achetez une instance de jeu de réplicas à trois nœuds avec 1 vCPU et 2 GiB de mémoire, le nœud primaire et chaque nœud secondaire prennent en charge jusqu'à 500 connexions chacun. Le nœud caché ne sert pas les connexions externes en raison de son rôle particulier dans l'architecture du jeu de réplicas.

Connectez-vous à l'instance à l'aide du shell mongo. Pour plus d'informations, consultez Se connecter à une instance ApsaraDB for MongoDB. Ensuite, exécutez la commande suivante :

db.serverStatus().connections

Exemple de sortie :

mgset-123456:PRIMARY> db.serverStatus().connections
{
        "current" : 1,
        "available" : 999,
        "internal_current" : 10,
        "internal_available" : 990,
        "totalCreated" : 632
}

Champs de sortie

Champ Description
current Nombre de connexions client actuellement établies vers ce nœud.
available Nombre de connexions supplémentaires que ce nœud peut encore accepter.
totalCreated Nombre cumulatif de connexions créées depuis le démarrage du serveur. Une augmentation rapide de cette valeur peut indiquer que les connexions sont ouvertes et fermées trop fréquemment au lieu d'être réutilisées via un pool de connexions.
La sortie peut également inclure les champs internal_current et internal_available, qui suivent les connexions utilisées en interne par le service ApsaraDB for MongoDB.

Interroger les adresses IP source des connexions actuelles

Pour identifier les clients qui consomment des connexions, interrogez les opérations actives :

  1. Connectez-vous à l'instance à l'aide du shell mongo. Pour plus d'informations, consultez Se connecter à une instance ApsaraDB for MongoDB. Ensuite, basculez vers la base de données admin :

       use admin
  2. Exécutez la commande suivante pour lister les opérations actives :

       mgset-123456:PRIMARY> db.runCommand({currentOp: 1, $all:[{"active" : true}]})

La sortie inclut l'adresse IP source de chaque connexion. Utilisez ces informations pour déterminer le nombre de connexions établies par chaque client vers l'instance. Pour plus d'informations sur le format de sortie, consultez db.currentOp().

Limiter le nombre de connexions

Ajoutez &maxPoolSize=<integer> à l'URI de votre chaîne de connexion pour définir le nombre maximal de connexions dans le pool de connexions.

L'exemple suivant utilise le shell mongo pour se connecter à une instance avec une taille de pool maximale définie sur 10. Le compte de base de données est test et la base de données est admin :

mongo "mongodb://test:****@dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-6108****&maxPoolSize=10"

Conseils pour choisir la taille du pool :

  • Définissez maxPoolSize en fonction du nombre de requêtes simultanées gérées par votre application. Un bon point de départ consiste à aligner cette valeur sur le nombre de threads ou de workers asynchrones qui effectuent des opérations de base de données.

  • Évitez de définir une valeur trop élevée, surtout si plusieurs instances d'application se connectent au même nœud de base de données. Le total des connexions provenant de toutes les instances doit rester inférieur à la limite de connexions par nœud.

  • Si vous utilisez la mise en pool de connexions dans votre framework d'application, assurez-vous que la taille du pool au niveau du pilote et au niveau du framework est coordonnée afin d'éviter l'épuisement des connexions.

Pour obtenir des détails sur la configuration des limites de pool de connexions dans des langages de programmation spécifiques, consultez Start Developing with MongoDB.