Tarefa de zumbis do MySQL

1

Parece-me que sempre há uma tarefa no SQL que é executada no meu servidor no trabalho e minhas coisas pessoais que ficam "presas" e continuam funcionando para sempre.

PID USER      PR   NI VIRT  RES  SHR S %CPU  %MEM  TIME+   COMMAND
890 mysql     20   0  326m  54m 7704 S 9999  1.4  13:05.03 mysqld 

Existe uma maneira que eu possa configurar um bot para encontrar coisas assim, desligá-lo e reiniciar o MySQL, então não preciso fazê-lo manualmente?

atualização

Devo salientar que nem sempre fica em 9999% da CPU. Às vezes, mostra 1,4 ou algo assim

    
por Webnet 21.10.2010 / 15:49

3 respostas

1

Você não deveria estar reiniciando um banco de dados para encerrar uma consulta. No MySQL, você pode ver as consultas em execução com show full processlist; e encerrar o processo com kill $CONNECTIONNUMBER; .

Você pode escrever um script para realizar essa função.

    
por 21.10.2010 / 16:12
2

Você executou um script de ajuste do MySQL como mysqltuner.pl ou tuning-primer.sh para garantir que suas configurações básicas do MySQL sejam adequadas?

Você não pode simplesmente alterar arbitrariamente os valores de configuração para o que alguém tem, pois a configuração é altamente dependente dos recursos de hardware disponíveis, da quantidade de dados que estão sendo armazenados e das consultas que estão sendo executadas em relação a esses dados. Uma configuração do MySQL que funciona muito bem no meu servidor poderia matar o seu servidor.

    
por 21.10.2010 / 17:03
1

Falei com um dos meus DBAs do MySQL e ele mencionou para mim que o key_buffer_size pode ser definido como padrão, o que pode ser o culpado pelo alto uso da CPU. Geralmente, aumentar o valor padrão de 8M para algo ao longo das linhas de 330M, se os recursos de memória estiverem disponíveis, deve ajudar a resolver esse problema. Essa mudança exigirá uma janela de manutenção para reiniciar os serviços MySQL.

    
por 21.10.2010 / 16:13

Tags