Al menos eliminaría todo el contenido estático. Configure otro vhost en otro lugar y cargue todos los gráficos, CSS y JavaScript en él. Puede comprar algunos ciclos adicionales, descargando la publicación de ese tipo de contenido. Si está realmente preocupado, puede registrarse y utilizar un servicio de distribución de contenido. Ahora hay muchos similares a Akamai y bastante baratos.
Otra idea podría ser utilizar Apache mod_proxy para mantener la salida de la página generada durante un período de tiempo específico. APC también sería bastante útil ... Podría emplear la captura de almacenamiento en búfer de salida + la última hora modificada de los datos relacionados en la página, y usar la versión en caché de APC. Si la página ya no es válida, se regenera y se almacena en APC nuevamente.
Buena suerte. ¡Será una experiencia de aprendizaje!
Mida primero y luego optimice. ¿Has hecho alguna prueba de carga? ¿Dónde están los cuellos de botella?
Una vez que conozca sus cuellos de botella, podrá decidir inteligentemente si necesita cuadros de base de datos o cuadros web adicionales. En este momento solo estarías adivinando.
Además, ¿cómo se comparan los resultados de las pruebas de carga con el tráfico esperado? ¿Puede manejar el doble del tráfico esperado? ¿Cinco veces? ¿Qué tan fácil/rápido puede adquirir y liberar hardware adicional? Estoy seguro de que el requisito comercial es no fallar durante el lanzamiento, así que asegúrese de tener muchas de capacidad disponible. Siempre puedes soltarlo después cuando la carga se haya estabilizado y sepas lo que necesitas.
Tenga un período beta en el que permita la entrada de tantos usuarios como pueda, mida el rendimiento de su sitio y resuelva los errores antes de publicarlo.
Puede controlar la cantidad de usuarios explícitamente en una versión beta privada o en una versión beta semipública al estilo de Google, donde cada usuario tiene una cantidad de referencias que puede ofrecer a sus amigos.
Para preparar o manejar un rendimiento pico (o máximo), primero determinaría si está listo a través de algunas pruebas de rendimiento simples con algo como jmeter.
Es fácil de configurar y comenzar, y le brindará métricas tempranas sobre si manejará una carga máxima esperada.
Sin embargo, dadas las limitaciones de tiempo, otros pasos a seguir serían preparar versiones estáticas de contenido que atraigan la mayor atención (como comunicados de prensa, si es el día del lanzamiento). También asegúrese de hacer el mejor uso del almacenamiento en caché del lado del cliente (una solicitud menos a su servidor puede marcar la diferencia). La web ya está diseñada para una escalabilidad extremadamente alta y un uso efectivo. El almacenamiento en caché de contenido es su mejor amigo en estas situaciones.
Hay un excelente podcast sobre alta escalabilidad en la radio de ingeniería de software sobre el diseño del nuevo sitio web de Guardian cuando las cosas se calman.
Buena suerte en el lanzamiento.