Quais consultas sql estão usando tanto cpu?

3

Eu tenho um aplicativo com várias consultas diferentes em todo o lugar.

Estou recebendo picos de uso da CPU do mysqld, o que está sobrecarregando meu servidor e não sei qual das muitas consultas está fazendo isso.

Existe uma maneira de registrar / visualizar todas as consultas do nível do Unix? E talvez para ver quais consultas estão riscando todos os recursos?

    
por willdanceforfun 29.09.2011 / 01:44

1 resposta

5

Existe um tipo de consulta chamada "consulta lenta", que é muito parecida com isso: consultas que demoram muito tempo para serem executadas. Em alguns casos, essas consultas são legitimamente longas, mas na grande maioria dos casos, uma consulta lenta indica algum código mal escrito ou uma falta de recursos no servidor, fazendo com que o MySQL fique limitado por E / S.

Em ambos os casos, se você está vendo picos no mysql, então um bom, muito bom lugar para começar é identificar suas consultas lentas.

Eu não sou o suficiente de um guru do MySQL para tirar isso do topo da minha cabeça, mas em resumo você quer:

  • Ativar o registro lento de consultas (está desativado por padrão na maioria das distribuições)
  • Deixe correr um pouco
  • Olhe para o log para ver quais consultas são seus culpados

Eu nem vou tentar extrair instruções do topo da minha cabeça, mas você pode começar com este link:

link

E se esse link expirar ou se tornar inútil, a frase a ser pesquisada é algo como 'log mysql slow query'.

Uma vez que você os registra, você está no caminho certo para classificá-los.

    
por 29.09.2011 / 01:53

Tags