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

Comment définir max_connections dans MySQL par programmation

Comment modifier max_connections

Vous pouvez modifier max_connections pendant que MySQL s'exécute via SET :

mysql> SET GLOBAL max_connections = 5000;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW VARIABLES LIKE "max_connections";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 5000  |
+-----------------+-------+
1 row in set (0.00 sec)

Vers OP

timeout lié

Je n'avais jamais vu votre message d'erreur auparavant, alors j'ai googlé. vous utilisez probablement Connector/Net. Manuel Connecteur/Net indique qu'il existe une taille maximale du pool de connexions. (la valeur par défaut est 100) voir tableau 22.21.

Je vous suggère d'augmenter cette valeur à 100k ou de désactiver le regroupement de connexions Pooling=false

MISE À JOUR

il a deux questions.

Q1 :que se passe-t-il si je désactive la mise en commun ? Ralentissez la connexion à la base de données. connection pooling est un mécanisme qui utilise une connexion DB déjà établie. le coût d'établissement d'une nouvelle connexion est élevé. http://en.wikipedia.org/wiki/Connection_pool

Q2 - La valeur de la mise en commun peut-elle être augmentée ou le maximum est de 100 ?

vous pouvez augmenter mais je suis sûr de la valeur MAX, peut-être max_connections dans mon.cnf

Ma suggestion est de ne pas désactiver la mise en commun, d'augmenter la valeur de 100 jusqu'à ce qu'il n'y ait plus d'erreur de connexion.

Si vous avez un outil de test de stress comme JMeter vous pouvez vous tester.