
No meu servidor tenho 7 bancos de dados. Nosso servidor tem 512 MB de RAM, que estou atualizando esta noite para 2 GB e tem um processador único 2.4.
Recebi um erro sobre o limite de conexão excedido. Com o aumento da minha RAM, posso aumentar o número de conexões? Atualmente está definido como 200, mas uma única página pode se conectar a 3-4 bancos de dados, considerando JOINs e outras coisas.
Configuramos tantos bancos de dados para mera organização. Temos um total de cerca de 250-300 tabelas em todos os bancos de dados.
Qualquer conselho seria apreciado :)
Atualizar
Acontece que tenho muito mais conexões do que pensava....
Com 2 GB de RAM e um único núcleo de 2,4, são precisas 50 conexões de usuário ou devo aumentar isso?
[mysqld]
safe-show-database
skip-locking
safe-show-database
interactive_timeout=30
wait_timeout=30
connect_timeout=10
max_user_connections=50
max_connections=1000
key_buffer=64M
join_buffer=2M
record_buffer=2M
sort_buffer=4M
max_allowed_packet=24M
query_cache_limit = 2M
query_cache_size = 64M
query_cache_type = 1
tmp_table_size=128M
table_cache=2048
thread_cache=256
thread_concurrency=1
Responder1
Você deve ser capaz de aumentar substancialmente suas conexões. No entanto, se você não ajustar corretamente o uso de memória por thread, você corre o risco de o MySQL ficar sem memória. MySQL ficar sem memória pode ser uma situação desastrosa e é melhor evitar.
Um exemplo do que acontece quando você não ajusta corretamente:
MySQL continua reiniciando devido a falta de memória
Algumas recomendações de ajuste anteriores que forneci:
Como configuro my.cnf no Mysql para que não haja limites de conexões?
O link paraUso de memória InnoDBinclui uma fórmula para calcular o uso de memória do InnoDB, que você pode inserir em uma planilha para calcular o uso de memória por thread.
Aqui estão mais algumas informações sobreUso de memória do servidor MySQL.
Em última análise, seu objetivo deve ser calcular o uso máximo de memória por thread com base na sua configuração. Depois de calculado, você pode definir o máximo de conexões com o valor adequado.
Responder2
Em máquinas de 1 GB, definimos rotineiramente max_connections para 750 sem problemas
Responder3
Se você usa PHP, edite o arquivo de configuração do php, geralmente em /etc/php.ini e altere a persistência para OFF.
[MySQL]; Permitir ou impedir links persistentes. mysql.allow_persistent = Desativado
Isso é tudo. Reinicie o Apache.