Para melhorar a performance do MySQL

Publicado por Perfil removido em 09/06/2005

[ Hits: 38.859 ]

 


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

Driver de vídeo VESA em 1280x800

CentOS 6.X - Instalando driver Broadcom wl.ko

Instalando o MATE Menu no Debian 10 MATE

Turbinando o acesso discado no Linux com Firefox

Instalar o giFT + Apollon no Kurumin

Leitura recomendada

Como alterar a base de dados padrão do MySQL

Backup diferente no MySQL

Instalação do MySQL via atualização de repositório

MySQL - Importar e exportar todos os bancos usando "mysqldump" e "source"

MySQL Error: #1558 - Column count of mysql.proc is wrong. Expected 20, found 16. ... Please use mysql_upgrade to fix this error

  

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