quinta-feira, 7 de abril de 2011

Achei uma informação legal sobre o mysql em um outro blog e venho compartilhar aqui tmb.

http://littleoak.wordpress.com/2009/01/12/identificando-consultas-lentas-no-mysql-slow-queries-tutorial-mysql/

O arquivo é sobre como ativar o slow query log do mysql, que por padrão este vem desabilitado. Este log mostra as query que estão levando muito tempo para serem processadas e finalizadas.

Para habilitar:

1. Log no seu servidor como root
2. Abra o arquivo my.cnf:

vi /etc/my.cnf

3. Dentro da seção [mysqld] adicione as seguintes linhas

log-slow-queries = /var/log/mysql-slow.log long_query_time = 3

Isto é apenas um exemplo. Você pode usar qualquer nome de arquivo para o log. Você também pode estipular o tempo máximo de uma consulta. A partir deste tempo,a consulta será gravada. No nosso exemplo, colocamos 3 segundos.

4. Após as alterações, salve o arquivo.

:wq

5. Agora nós temos que criar o arquivo de log.

touch /var/log/mysql-slow.log

6. Agora vamos mudar o dono do arquivo, para que o mysql tenha permissão de escrever nele.

chown mysql.root /var/log/mysql-slow.log

7. E então, reiniciamos o mysql

service mysql restart

O serviço deverá reiniciar corretamente. Caso não reinicie, veja se você fez tudo corretamente no arquivo my.cnf.

8. Aguarde alguns minutos e então examine o conteúdo do arquivo de log que foi criado.

Um exemplo de como fazer isto:

cat /var/log/mysql-slow.log tail /var/log/mysql-slow.log tail -50 /var/log/mysql-slow.log

Depois de identifica a consulta, otimize ou elimine ela.

Depois que identificar o problema, é recomendado que você remova a entrada referente a slow-queries no my.cnf (ou comente ela). Isto é importante, pois o uso de slow-queries degrada a performance do mysql. Você pode comentar o arquivo my.cnf:

#log-slow-queries = /var/log/mysql-slow.log  fonte: http://www.servidorgerenciado.com.br/identificando-consultas-lentas-no-mysql-slow-queries/ #long_query_time = 3

Não se esqueça de reiniciar o MySQL em seguida.

service mysql restart

Nenhum comentário: