En realidad, debes fijarte en los
logs para ver dónde está el
cuello de botella. Si el
cuello de botella está en el servidor web, entonces
NodeJS puede ser tu solución. De todos modos, también podrías probar con otro servidor que maneje
PHP, para no tener que reprogramar todo (puedes probar
Nginx, si es que estás utilizando
Apache, tiene menos
overhead). Si el cuello de botella está en tu
BD, entonces deberás optimizar las consultas y el servidor de
BD. De nuevo, los
logs son la mejor herramienta para investigar. Incluso puedes evaluar cambiar de
SGBD, o de tipos de
tablas (por ejemplo, suponiendo que usara
MySQL, podrías reemplazar las tablas
InnoDB, por
MyISAM, que son más veloces para las lecturas, pero debes tener en cuenta que éstas no soportan
transacciones). Obviamente, saber qué
indexar y cuándo es fundamental, lo mismo que saber
normalizar y
denormalizar la
BD.
Otra opción es tirarle más procesamiento al
cliente para aliviar el del
servidor... por ejemplo, en lugar de armar
gráficos en PHP,
ármalos en el cliente con JavaScript.
Por eso lo primero es
averiguar dónde está el cuello de botella. ¡Suerte!