Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So setzen Sie max_connections in MySQL programmgesteuert

So ändern Sie max_connections

Sie können max_connections ändern während MySQL über SET läuft :

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)

Zu OP

timeout verwandt

Ich hatte Ihre Fehlermeldung noch nie gesehen, also habe ich gegoogelt. wahrscheinlich verwenden Sie Connector/Net. Connector/Net-Handbuch sagt, dass es eine maximale Größe des Verbindungspools gibt. (Standard ist 100) siehe Tabelle 22.21.

Ich schlage vor, dass Sie diesen Wert auf 100.000 erhöhen oder das Verbindungspooling deaktivieren Pooling=false

AKTUALISIERT

er hat zwei Fragen.

F1 – was passiert, wenn ich das Pooling deaktiviere Verlangsamen Sie das Herstellen einer DB-Verbindung. connection pooling ist ein Mechanismus, der bereits hergestellte DB-Verbindungen verwendet. Die Kosten für die Herstellung einer neuen Verbindung sind hoch. http://en.wikipedia.org/wiki/Connection_pool

F2 – Kann der Pooling-Wert erhöht werden oder beträgt das Maximum 100?

Sie können erhöhen, aber ich bin mir sicher, was der MAX-Wert ist, vielleicht max_connections in meiner.cnf

Mein Vorschlag ist, Pooling nicht auszuschalten, Wert um 100 zu erhöhen, bis kein Verbindungsfehler mehr auftritt.

Wenn Sie ein Belastungstest-Tool wie JMeter haben Sie können sich selbst testen.