Meu site é aleatoriamente muito lento pela CPU MYSQL alta e não tenho ideia de qual é o problema. Espero chegar mais perto da solução com este post.
Se eu verificar os processos do mysql, vejo muitos comandos de suspensão abertos quando o site está lento. Quando não há comandos de suspensão abertos, não há problema. Então provavelmente o problema está aí.
Curiosamente, esse problema só acontece às vezes. Às vezes não tenho problemas por 4 semanas, agora o site já está 3 dias seguidos lento.
Já configurei as configurações time_out do mysql para 30 segundos, mas isso não ajuda a resolver o problema. Então agora eu tento descobrir qual é o problema. Aqui estão as variáveis de status de alerta. Talvez isso dê alguns insights extras.
Poderia ser spambots/ataques de força bruta?
Consultas pesadas/lentas no site? Configurações ruins do servidor? Injeções de SQL?
Outras coisas que esse problema pode causar? Qual é a melhor maneira de resolver este problema agora? Enviar qualquer direção já ajudará.
IMHO, o motivo pode ser um dos seguintes
i) Consulta inline: É propenso a ataques de injeção de sql, mas não necessariamente o site será lento. É aconselhável usar proc de parametrização.
ii) Despotimize a consulta: Sim. Faça uma lista curta dessas páginas e consultas/proces relacionadas.
iii) Ataque CSRF: suas páginas podem ser atacadas por malware ou rastreador da web. Existem várias maneiras de superá-lo, uma delas é o Captcha, mas nem sempre.google.
iv) Configuração de rede/servidor: isso deve apontar i). Verifique com seu administrador.
v) verifique se há loop infinito e desnecessário nas páginas. De fato, identifique as páginas que são lentas e examine o código e a consulta.