sql >> Databáze >  >> RDS >> Mysql

Jak programově nastavit max_connections v MySQL

Jak změnit max_connections

Můžete změnit max_connections zatímco MySQL běží přes 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)

Do OP

timeout související

Nikdy předtím jsem neviděl vaši chybovou zprávu, tak jsem googlil. pravděpodobně používáte Connector/Net. Manuál ke konektoru/síti říká, že existuje maximální velikost fondu připojení. (výchozí hodnota je 100) viz tabulka 22.21.

Navrhuji, abyste tuto hodnotu zvýšili na 100 kB nebo zakázali sdružování připojení Pooling=false

AKTUALIZOVÁNO

má dvě otázky.

Q1 – co se stane, když zakážu sdružování Zpomalte vytváření DB připojení. connection pooling je mechanismus, který využívá již vytvořené DB připojení. náklady na vytvoření nového připojení jsou vysoké. http://en.wikipedia.org/wiki/Connection_pool

Q2 – Lze hodnotu sdružování zvýšit nebo je maximum 100?

můžete zvýšit, ale jsem si jistý, jaká je MAX hodnota, možná max_connections v my.cnf

Můj návrh je, že nevypínejte sdružování, zvyšujte hodnotu o 100, dokud nedojde k chybě připojení.

Pokud máte nástroj na testování zátěže, jako je JMeter můžete se otestovat.



  1. Komentujte postavu/znaky v postgres / postgresql / psql?

  2. Jak NOW() funguje v MariaDB

  3. Jak udržujete kontrolu revizí vaší databázové struktury?

  4. jak zabránit vkládání SQL z tohoto dotazu?