Mysql
 sql >> Database >  >> RDS >> Mysql

Come impostare max_connections in MySQL in modo programmatico

Come modificare max_connections

Puoi modificare max_connections mentre MySQL è in esecuzione tramite 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)

Per OP

timeout relativi

Non avevo mai visto il tuo messaggio di errore prima, quindi ho cercato su Google. probabilmente stai usando Connector/Net. Manuale connettore/rete dice che c'è una dimensione massima del pool di connessioni. (il valore predefinito è 100) vedere la tabella 22.21.

Ti suggerisco di aumentare questo valore a 100k o di disabilitare il pool di connessioni Pooling=false

AGGIORNATO

ha due domande.

Q1:cosa succede se disattivo il pooling Rallentare la connessione DB. connection pooling è un meccanismo che utilizza una connessione DB già effettuata. il costo della creazione di una nuova connessione è elevato. http://en.wikipedia.org/wiki/Connection_pool

Q2 - È possibile aumentare il valore del pooling o il massimo è 100?

puoi aumentare ma sono sicuro di quale sia il valore MAX, forse max_connections nel mio.cnf

Il mio suggerimento è di non disattivare il Pooling, aumentare il valore di 100 finché non si verifica alcun errore di connessione.

Se disponi di uno strumento per lo stress test come JMeter puoi metterti alla prova.