Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Alto uso de CPU do MySQL


Primeiro, eu diria que você provavelmente deseja desativar as conexões persistentes, pois elas quase sempre fazem mais mal do que bem.

Em segundo lugar, eu diria que você deseja verificar novamente seus usuários do MySQL, apenas para ter certeza de que não é possível que ninguém esteja se conectando a partir de um servidor remoto. Isso também é uma importante coisa de segurança para verificar.

Em terceiro lugar, eu diria que você deseja ativar o Consulta lenta do MySQL Registre-se para ficar de olho em quaisquer consultas que estejam demorando muito e use-o para garantir que não haja consultas bloqueando tabelas de chaves por muito tempo.

Algumas outras coisas que você pode verificar seriam executar a seguinte consulta enquanto a carga da CPU estiver alta:
SHOW PROCESSLIST;

Isso mostrará todas as consultas que estão em execução no momento ou na fila para execução, qual é a consulta e o que ela está fazendo (este comando truncará a consulta se for muito longa, você pode usar SHOW FULL PROCESSLIST para ver o texto completo da consulta) .

Você também deve ficar de olho em coisas como o tamanho do buffer, cache de tabela , cache de consulta e innodb_buffer_pool_size (se você estiver usando tabelas innodb), pois todas essas alocações de memória podem afetar o desempenho da consulta, o que pode fazer com que o MySQL consuma CPU.

Você provavelmente também vai querer ler o seguinte, pois eles contêm algumas boas informações.

Também é uma boa ideia usar um criador de perfil. Algo que você pode ativar quando quiser que mostrará quais consultas seu aplicativo está executando, se há consultas duplicadas, quanto tempo elas estão demorando, etc, etc. Perfil de PHP mas há muitos por aí. Se você estiver usando um software como Drupal, Joomla ou Wordpress, você deve perguntar na comunidade, pois provavelmente há módulos disponíveis para eles que permitem obter essas informações sem precisar integrar nada manualmente.