Para melhorar a performance do MySQL

Publicado por Perfil removido em 09/06/2005

[ Hits: 39.387 ]

 


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

Webapp - Pluto TV para Linux

Encontrando erros em C/C++ com Valgrind

Exodus Desktop Beta

Como instalar o Docker no openSUSE 15 (15.1 e 15.2)

Instalando Systemback no Ubuntu 18.04/1810

Leitura recomendada

SELECT data = hoje/ontem/anteontem no MySQL

ERROR 144 - Table XXX is marked as crashed and last (automatic?) repair failed [Resolvido]

Recuperando a senha do root de seu MySQL

MySQL - Backup automático de banco de dados com data

Erro ao conectar no servidor 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