Primeiro, entenda onde está o seu gargalo. Seu aplicativo é principalmente lido a partir do SQL? Escrita? Se você ler principalmente e seu conjunto de dados não se encaixa mais na memória, adicionar mais memória RAM provavelmente aumentará o desempenho. Talvez os dados já caibam na memória e o MySQL rouba a CPU [por exemplo, ele faz varreduras de tabela completas porque não pode fazer uso do índice em algumas circunstâncias como subconsultas]
Alguns conselhos:
- comece a monitorar o que está acontecendo com seu servidor usando softwares como o Munin .
- habilitar o log de consultas lentas
- analise quais consultas você envia para o SQL - por exemplo, com o mysqsla - talvez depois de tudo você faça varreduras de tabela completa desnecessárias?
- use explain para cada uma das consultas mais frequentes
Somente depois disso, decida se deseja:
- consiga mais poder de CPU [e mova o MySQL para outra máquina]
- compre mais RAM
- otimize seu código