Você deve começar com o log de consultas lentas: link
Você também pode querer verificar se max_used_connections é maior que max_connections:
SHOW VARIABLES LIKE 'max\_connections';
SHOW STATUS LIKE 'max\_used\_connections';
Às vezes, o meu site 'desce' porque o Mysql consome todos os recursos, mas acho que ele não para de criar mais processos httpd. Isso é possível? Se eu reiniciar o apache, esses processos desaparecem e eu posso ver o consumo da CPU pelo processo mysql baixando lentamente, e então o site está online novamente.
Estou tendo problemas para encontrar o gargalo de qualquer maneira. O site tem muitos cronjobs (scripts php), e cada um gera logs, que incluem o tempo total de execução.
Então, meu primeiro pensamento foi tentar encontrar o script que levou muito tempo, mas isso não foi possível porque é preciso apenas um deles retardando o servidor mysql, para que todos eles aumentem o tempo de execução.
Algum conselho?
Onde posso aprender como encontrar os gargalos?
Nota: Estou no CentOS, apache 2, php 5.3 e mysql 5
Você deve começar com o log de consultas lentas: link
Você também pode querer verificar se max_used_connections é maior que max_connections:
SHOW VARIABLES LIKE 'max\_connections';
SHOW STATUS LIKE 'max\_used\_connections';