Duas coisas vêm à mente.
O cache do Opcode é sempre uma boa ideia. Eu prefiro http://eaccelerator.net/ sobre APC. Se você não desenvolveu o APC ao longo do caminho, tentar adicioná-lo é quase sempre doloroso. O acelerador, embora não tão sofisticado, parece funcionar.
Um proxy reverso também é uma boa ideia, mas você precisa observar o uso da RAM. Acho o Apache 2.2 com mpm-worker para ocupar uma quantidade razoável de RAM por conta própria. No seu caso, eu recomendaria algo mais leve como o Nginx e execute o Apache com PHP como FASTCGI ou apenas deixe-o conforme o processo. A idéia de usar Varnish, Squid, Nginx, etc é fazer com que eles sirvam conteúdo estático, lidem com conexões de usuários e passem apenas solicitações PHP para o Apache, que você trata como servidor de aplicativos.
Se você estiver executando uma versão bastante recente do Mysql 5.1, como pelo menos 5.1.24, agora terá acesso a logs lentos abaixo de segundo. Eu começaria long_query_time em 1 ou 2 e depois o reduziria para 0,5 conforme você lida com os realmente longos. Também há muitas informações gerais de ajuste na rede para o Mysql, mas você não tem RAM para fazer muito. Você aumentou alguma das configurações do padrão? A maioria dos arquivos my.cnf padrão são configurados para usar cerca de 64 MB de RAM. É o mínimo que eu aumentaria o key_buffer de 16 MB para 64 MB.
Além disso, você está usando as tabelas Myisam ou Innodb? Se você estiver mantendo a sessão no banco de dados, altere a tabela de sessão para Innodb (ou faça com que seja um cookie) em vez de deixá-la como uma tabela Mysiam, que trava no nível da tabela em vez de no nível da linha. Basicamente, qualquer tabela com mais de 20% de gravação e 80% de leitura é candidata à mudança para o Innodb. Lembre-se de que você precisará equilibrar a quantidade de RAM entre as tabelas Myisam e Innodb, pois os buffers de cada uma são configurados separadamente.
E, por fim, outros 512 MB de RAM percorreriam um longo caminho em sua configuração ou até outros 512 MB VPS para executar o Mysql, se isso fosse mais barato ou aproximadamente o mesmo preço. Na verdade, eu me inclino para uma segunda instância, porque isso dobrará a E / S de disco disponível. Um dos problemas com os servidores VPS é que o seu IO não está protegido contra outras pessoas no mesmo servidor físico.
Hmmm, meu post está meio disperso, mas dá a você muitos lugares para procurar. Boa sorte.