Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como definir max_connections no MySQL programaticamente

Como alterar max_connections


Você pode alterar max_connections enquanto o MySQL está sendo executado 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)

Para OP

timeout relacionado


Eu nunca tinha visto sua mensagem de erro antes, então eu pesquisei. provavelmente, você está usando o Connector/Net. Manual do conector/rede diz que há o tamanho máximo do pool de conexões. (o padrão é 100) consulte a tabela 22.21.

Sugiro que você aumente esse valor para 100k ou desative o pool de conexões Pooling=false

ATUALIZADO


ele tem duas perguntas.

Q1 - o que acontece se eu desativar o pooling Desacelere ao fazer a conexão com o banco de dados. connection pooling é um mecanismo que usa conexão DB já feita. o custo de fazer uma nova conexão é alto. http://en.wikipedia.org/wiki/Connection_pool

Q2 - O valor do pooling pode ser aumentado ou o máximo é 100?

você pode aumentar, mas tenho certeza de qual é o valor MAX, talvez max_connections em meu.cnf

Minha sugestão é que não desative o Pooling, aumente o valor em 100 até que não haja erro de conexão.

Se você tiver uma ferramenta de teste de estresse como JMeter você pode testar você mesmo.