Para melhorar a performance do MySQL

Publicado por Perfil removido em 09/06/2005

[ Hits: 39.080 ]

 


Para melhorar a performance do MySQL



Eu fiz o seguinte para melhorar a performance do MySQL.

Editei o arquivo my.cnf:

# vi /etc/mysql/my.cnf

Adicionei estas linhas logo após a entrada [mysqld]:

set-variable = max_connections=1000
set-variable = max_connect_errors=1000
set-variable = wait_timeout=300

Significado das variáveis:
  • wait_timeout = tempo máximo em segundos que o servidor aguarda antes de fechar uma conexão sem atividade.
  • max_connect_errors = If there are more than this number of interrupted connections from a host, that host is blocked from further connections. You can unblock blocked hosts with the FLUSH HOSTS statement.
  • max_connections = The number of simultaneous client connections allowed. Increasing this value increases the number of file descriptors that mysqld requires. See section 7.4.8 How MySQL Opens and Closes Tables for comments on file descriptor limits. Also see section A.2.6 Too many connections.

Reiniciei o MySQL:

# /etc/init.d/mysql reload

Outras dicas deste autor

Ripando CD de áudio com K3B

Instalação de placa de rede sem fio Ralink RT3090 no Ubuntu 10.04

Smanager: Script Manager - Emulador de terminal, gerenciador de arquivos e "otras cositas más" no Android

Executando aplicativos do MacOS X no Linux

Demonstração e download do meu editor de texto 64 bits

Leitura recomendada

MySQL: Duplicando uma tabela com apenas 1 comando SQL

Fazendo Backup de Tabelas mySQL

ERROR 1045 (28000) no MySQL 5 - Ubuntu 6.06

Chive - Alternativa ao phpMyAdmin

Recuperando a senha de root do MySQL

  

Comentários
[1] Comentário enviado por cginet em 10/06/2005 - 00:34h

Eu ja curto a conf diferente.
wait_timeout = 360
max_connections = 500
max_connect_errors = 250

Vamos ao porque:
Muito programador costuma utilizar conexões permanentes e acabam esquecendo de fechar. Ou seja com 10 usuários abrindo uma rotina 10 vezes são 100 conexões, que seriam abertas apenas por alguns instantes. Eu matando esta conexões, tenho mais flexibilidade em configurar o numero máximo de conexões, uma vez que não terei tantas conexões abertas, assim estarei economizando recursos do servidor.
O max_connect_errors, coloquei 250, pois antes de algum desocupado querendo testar o server heauhae, ou dar um loop matando a conexão. Daria o famoso "...is blocked because of many connection errors". Mas para evitar problemas, com a mensagem, é só dar um flush-hosts de vez em quando.
Mas como falei, eu gosto desta forma, pois supre a minha necessidade, mas se vc só for desenvolver com sua base de dados, realmente a configuração citada seria melhor...

[2] Comentário enviado por gabrielfrc em 23/06/2011 - 18:16h

Você tambem pode melhorar a performance de consultas mantendo-as em cache:

http://mascote.me/2011/06/21/melhorar-a-performance-do-mysql-com-query-cache/



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts