Olá a todos.
Pois bem, hoje trago-vos mais um tutorial, até porque já há algum tempo que não fazia nenhum para o +T.
Este tutorial destina-se a quem tem
servidor dedicado (ou VPS) e a dificuldade é praticamente nula, qualquer pessoa que tenha as mínimas noções de
Linux conseguirá seguir facilmente as indicações.
Optimizar um
servidor MySQL é um trabalho que leva tempo, um trabalho de cálculo e estudo, que pode levar vários dias até se conseguirem resultados satisfatórios, pois cada servidor é um caso e não há configurações iguais. Para além disso, estas optimizações não podem ser feitas por qualquer pessoa, pois envolvem bons conhecimentos de
configuração e modo de funcionamento de um servidor MySQL.
Há pessoas que estão a pagar dezenas de Euros a administradores de sistemas
Linux para fazer esta
optimização. O negócio é bom e rende, principalmente porque uma boa
optimização faz do cliente, um cliente satisfeito e um servidor a correr mais suavemente com consumos reduzidos de memória.
No entanto é no
poupar que está o ganho, por isso mesmo hoje vou indicar-vos como qualquer pessoa consegue fazer este trabalho e assim poupar muito dinheiro.
Para tal vamos usar um
script em
Perl - que não faz milagres é certo - mas permite uma
optimização certeira, rápida e grátis, claro.
Este programa (no fundo é um programa) chama-se "
MySQL Tuner" - apenas um ficheiro.
Fazemos então o
login no nosso terminal
Linux, descarregamos o arquivo (links para download em baixo), extraímos e podemos começar a usar.
Para tal, corremos o ficheiro "
mysqltuner.pl" da seguinte forma:
perl mysqltuner.pl
Após esse passo ele pode ou não pedir o nome de utilizador e palavra passe
MySQL, depende se têm essa informação no ficheiro
my.cnf ou não.
Antes de avançarem na operação, façam por favor um backup do ficheiro de configuração, se alguma coisa correr mal, podem sempre voltar ao ponto onde estavam:
cp /etc/my.cnf /etc/my.cnf-BKP
Logo de seguida, este
script vai propor-nos as alterações consoante os dados estatísticos disponíveis no
servidor MySQL.
Aqui fica um exemplo parcial do
output:
Como podem constatar, o
MySQL Tuner faz-nos várias sugestões, incluindo as variáveis a ajustar.
Estas variáveis deverão ser ajustadas no ficheiro de
configuração do servidor
MySQL, para tal basta usarem o vosso editor favorito (o meu é o nano) e colocar os valores recomendados.
nano /etc/my.cnf
IMPORTANTE: certifiquem-se que o vosso servidor
MySQL está a correr há pelo menos
24 horas consecutivas (no
screenshot que coloquei não estava).
Ajustem os valores na configuração e reiniciem o servidor
MySQL, geralmente:
service mysqld restart
24 horas depois corram novamente o
script e vejam se ele propõe mais alterações.
Podem fazer o download aqui:
http://github.com/rackerhacker/MySQLTuner-perl/downloadsPara o caso do download falhar por qualquer motivo, junto em anexo uma cópia do
script.
Compatibilidade: * MySQL 3.23, 4.0, 4.1, 5.0, 5.1
* MySQL 5.4 (suporte parcial)
* MySQL 6.0 (suporte parcial)
* Perl 5.6 ou superior
* Sistema operativo Unix/Linux (testado em Linux, variantes BSD, e variantes Solaris)
* Windows não é suportado
* É essencial ter permissões de leitura por parte do servidor MySQL.
Espero que esta dica tenho sido do vosso agrado, mas que principalmente vos faça cortar em alguns gastos.
Obrigado.