Se me ocurren un par de cosas.
Opcode cache siempre es una buena idea. Prefiero http://eaccelerator.net/ sobre APC. Si no ha estado desarrollando APC en el camino, tratar de agregarlo casi siempre es doloroso. Eaccelerator, aunque no es tan elegante, parece funcionar.
Un proxy inverso también es una buena idea, pero debe observar el uso de RAM. Encuentro Apache 2.2 con mpm-worker para tomar una buena cantidad de RAM por sí mismo. En su caso, recomendaría algo más ligero como Nginx y ejecutar Apache con PHP como FASTCGI o simplemente dejarlo según el proceso. La idea de usar Varnish, Squid, Nginx, etc. es que sirvan contenido estático, se ocupen de las conexiones de los usuarios y solo pasen solicitudes de PHP a Apache, que usted trata como un servidor de aplicaciones.
Si está ejecutando una versión bastante reciente de Mysql 5.1, como al menos 5.1.24, ahora tiene acceso a registros lentos de menos de un segundo. Comenzaría long_query_time en 1 o 2 y luego lo reduciría a 0.5 a medida que maneje los realmente largos. También hay mucha información de ajuste general en la red para Mysql, pero no tienes la RAM para hacer mucho. ¿Has aumentado alguna de las configuraciones por defecto? La mayoría de los archivos my.cnf predeterminados están configurados para usar aproximadamente 64 MB de RAM. Al menos, subiría el key_buffer de 16MB a 64MB.
Además, ¿estás usando las tablas Myisam o Innodb? Si mantiene la sesión en la base de datos, querrá cambiar la tabla de sesión a Innodb (o convertirla en cookie) en lugar de dejarla en una tabla Mysiam que bloquee el nivel de la tabla en lugar del bloqueo de nivel de fila. Básicamente, cualquier tabla que tenga más del 20% de escritura al 80% de lectura es un candidato para pasar a Innodb. Recuerde que necesitará equilibrar la cantidad de RAM entre las tablas Myisam y las tablas Innodb porque las memorias intermedias para cada una se configuran por separado.
Y, por último, otros 512 MB de RAM recorrerían un largo camino en su configuración o incluso otros VPS de 512 MB para ejecutar Mysql si eso es más barato o aproximadamente el mismo precio. De hecho, me inclinaría hacia una segunda instancia porque eso duplicará el disco IO disponible. Uno de los problemas con los servidores VPS es que su IO no está protegida de otras personas en el mismo servidor físico.
Hmmm, mi publicación está muy dispersa, pero te da muchos lugares para buscar. Buena suerte.