Mysql
 sql >> Base de données >  >> RDS >> Mysql

Nombre optimal de connexions dans le pool de connexions

Vouliez-vous vraiment dire 200 concurrent utilisateurs ou seulement 200 utilisateurs connectés ? Dans la plupart des cas, un utilisateur de navigateur ne pourra pas faire plus d'une requête de page par seconde. Ainsi, 200 utilisateurs se traduisent par 200 transactions par seconde. C'est un nombre assez élevé pour la plupart des applications.

Quoi qu'il en soit, à titre d'exemple, partons avec 200 transactions par seconde. Supposons que chaque transmission frontale (navigateur) prenne 0,5 seconde et que sur 0,5 seconde, 0,25 soit passée dans la base de données. Ainsi, vous auriez besoin de 0,5 * 200 ou 100 connexions dans le pool de têtes WebLogic et de 0,25 * 200 =50 connexions dans le pool de connexions DB.

Pour être sûr, je définirais les tailles maximales du pool de threads à au moins 25% de plus que prévu pour permettre des pics de charge. Les minimums peuvent être une petite fraction du maximum, mais le compromis est que cela pourrait prendre plus de temps pour certains utilisateurs car une nouvelle connexion devrait être créée. Dans ce cas, 50 à 100 connexions ne sont pas si nombreuses pour une base de données, c'est donc probablement un bon nombre de départ.

Notez que pour déterminer quels sont vos temps de réponse de transaction moyens, ainsi que votre temps de requête de base de données moyen, vous devrez effectuer un test de performance car vos temps de chargement ne seront probablement pas les fois que vous voyez avec un seul utilisateur.