MySQL muitas conexões

2

No meu servidor eu tenho 7 bancos de dados. Nosso servidor tem 512 MB de RAM, que eu estou atualizando esta noite para 2GB e tem um processador único de 2.4.

Recebi um erro sobre o limite de conexão excedido. Com o aumento da minha memória RAM, está tudo bem aumentar o número de conexões? Atualmente está definido para 200, mas uma única página pode se conectar a 3-4 bancos de dados considerando JOINs e coisas.

Nós 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 eu tenho muito mais conexões do que eu pensava ....

Com 2 GB de RAM e um único núcleo de 2,4, 50 conexões de usuário são precisas 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
    
por Webnet 18.06.2010 / 03:21

3 respostas

2

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, corre o risco de o MySQL ficar sem memória. O 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 ao esgotamento de memória

Algumas recomendações anteriores de ajuste fornecidas:

Como defino my.cnf no Mysql para que não haja limites para as conexões?

O link InnoDB Memory Usage inclui uma fórmula para calcular o uso de memória InnoDB , que você pode conectar em uma planilha para calcular o uso de memória por thread.

Aqui estão mais algumas informações sobre Uso da memória do servidor MySQL .

Por fim, seu objetivo deve ser calcular o máximo por uso de memória de thread com base em sua configuração. Uma vez que isso é calculado, você pode definir suas conexões máximas com o valor adequado.

    
por 18.06.2010 / 15:32
0

Em máquinas de 1GB, rotineiramente definimos max_connections para 750 sem problemas

    
por 18.06.2010 / 03:27
0

Se você usa PHP, edite o arquivo de configuração do php, geralmente em /etc/php.ini e mude a persistência para OFF.

[MySQL] ; Permitir ou impedir links persistentes. mysql.allow_persistent = Desligado

Isso é tudo. Reinicie o Apache.

    
por 14.04.2011 / 20:02