¿Qué infraestructura de servidor se requiere para servir 5 millones de páginas vistas por día?

Mucho de esto se reducirá al esquema de la base de datos y al rendimiento de las consultas. Si tuvieras que asumir la ingenua suposición de que tus 5 millones de visitas a la página se distribuirán de manera uniforme durante todo el día, entonces estás hablando de <60 visitas por segundo. Casi cualquier servidor web puede manejar esto cuando sirve contenido estático.

Sugeriría construir su infraestructura en Amazon EC2. Si desea estar seguro y asegurarse de tener una alta disponibilidad, le sugiero que configure dos instancias pequeñas para sus servidores web. De esa manera, si uno falla, aún puede servir a sus clientes con el otro mientras lo recupera. Para la base de datos, puede usar MySQL con el servicio Amazon RDBMS. Es un servicio de base de datos relacional construido a escala que ofrece alta disponibilidad, copias de seguridad y más. Puede comenzar con una sola instancia y escalar a más servidores fragmentando si su base de usuarios crece.

Una vez más, las consideraciones más importantes aquí serán el esquema en su base de datos, el número de registros y cómo lo consulta. Si todas sus consultas tardan varios segundos en completarse y está haciendo varias por página, entonces no va a escalar.

Sugiero buscar en Google “escalabilidad de slideshare”. Demasiadas cosas buenas para ignorar / no mencionar.

El resumen sería: Incruste todos los datos de sesión de un usuario en su navegador en cookies cifradas. No lleve la carga de la gestión de la sesión. Las cookies del navegador del usuario llevan esos datos. 4K es una gran cantidad de bytes para la autenticación y la gestión de sesiones. De esta forma, puede cambiar dinámicamente la cantidad de servidores web (que solo realizan cálculos) para ajustarse al tráfico. Ahorra en costos tremendamente.

Si 5 mn podrían convertirse en 50 mn a veces de repente, entonces * necesita * esta arquitectura “horizontalmente acoplada”. Si está seguro de que de repente no será de 10 millones, entonces tal vez podría aumentar la RAM del servidor. Depende de la aplicación.