Seu primeiro passo para melhorar os problemas seria separar o servidor MySQL e a parte de processamento da web. Parece que você precisa mudar para a 2 sistema de níveis . Uma vez que as duas camadas estão separadas, você pode olhar para o balanceamento de carga do nível do MySQL se realmente é onde você está tendo um problema de carga .
Antes de ir tão longe, eu olharia para um armazenamento em cache do MySQL módulo como o memcached.