sql >> Databasteknik >  >> RDS >> Mysql

Hur man ställer in max_connections i MySQL Programmatically

Hur man ändrar max_connections

Du kan ändra max_connections medan MySQL körs 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)

Till OP

timeout relaterade

Jag hade aldrig sett ditt felmeddelande tidigare, så jag googlade. förmodligen använder du Connector/Net. Connector/Net Manual säger att det finns max anslutningspoolstorlek. (standard är 100) se tabell 22.21.

Jag föreslår att du ökar detta värde till 100k eller inaktiverar anslutningspooling Pooling=false

UPPDATERAD

han har två frågor.

Q1 - vad händer om jag inaktiverar pooling Sakta ner gör DB-anslutning. connection pooling är en mekanism som använder redan gjorda DB-anslutning. kostnaden för att skapa ny anslutning är hög. http://en.wikipedia.org/wiki/Connection_pool

Q2 - Kan värdet av pooling ökas eller är maxvärdet 100?

du kan öka men jag är säker på vad som är MAX-värde, kanske max_connections i my.cnf

Mitt förslag är att inte stänga av pooling, öka värdet med 100 tills det inte finns något anslutningsfel.

Om du har ett stresstestverktyg som JMeter du kan testa dig själv.



  1. Kan jag paginera en anpassad fråga utan att åsidosätta standardpagineringen?

  2. Anropa en lagrad procedur från DECLARE-satsen när du använder markörer i MySQL

  3. Rails Migration Skapa tabell Primär nyckel

  4. Postgres ENUM-datatyp eller CHECK CONSTRAINT?