O MySQL tem uma instrução chamada "show processlist" para mostrar as consultas em execução no seu servidor MySQL.
Eu tenho um servidor dedicado com 4GB de memória RAM e uma CPU Xeon de núcleo quádruplo, que atende a um site com 350 mil pageviews por dia usando o script wordpress. O problema é que o mysql está comendo muito CPU, e na investigação eu descobri que ele estava lidando com 250 consultas por segundo. Isso equivale a 60 consultas por carregamento de página, o que não pode estar correto. Além disso, a maioria das páginas é armazenada em cache usando o W3 Total Cache. Eu tenho vários aplicativos acessando o banco de dados, mas como eu sei qual deles está causando o alto uso de consultas?
Para problemas com o mysql, configure a consulta lenta e faça o perfil usando mysqltuner.pl e primer de ajuste do mysql . Isso corrige a maioria dos problemas do mysql. Analise as lentas e verifique se você pode adicionar mais índices.
Não esqueça de usar innodb como variável de tamanho do mecanismo e especialmente do tamanho do buffer de innodb.
Por que não usar algo como WP Super Cache que reduzirá significativamente a quantidade de consultas em andamento? ao seu servidor de banco de dados?
Ative o log de consultas lentas e defina a variável long_query_time. Isso registrará todas as consultas que levam mais tempo que o tempo especificado.
Em seguida, use a ferramenta mysqldumpslow para analisar o log de consultas lentas.
Para mais informações, consulte a documentação do mysql.