Primeiro, você precisa habilitar o log de consultas lentas para poder detectar a causa raiz do problema.
Em seguida, você precisa criar um perfil para seus aplicativos então você entende onde os recursos são gastos.
Finalmente, ajuste seu mysql exemplo (es) para trabalhar melhor com o seu hardware e os requisitos do aplicativo.
Na minha experiência, o que mata o mysql é o acesso ao disco. A única maneira de "estrangular" o mysql é fragmentar seus dados adequadamente para que o acesso ao disco seja mantido no mínimo. Se você tiver uma tabela com 100 milhões de linhas, mesmo com a indexação, haverá problemas de associação. Então, compartilhe esses dados se possível. Você também pode usar a replicação para leituras de "balanceamento de carga" em vários hosts.
Existe um grande número de soluções "shoot from the hip" para resolver problemas de desempenho. Sem especificidade da causa raiz, é improvável que algum ajude.