Cómo preparar un sitio para el crecimiento de la carga.



Solo el perezoso no obtuvo su experiencia del estante lejano y no predijo la vida "en línea", tan forzada como el régimen de autoaislamiento. Pero el tráfico, de hecho, ya ha comenzado a crecer, y teniendo en cuenta las "vacaciones", los recursos que ofrecen la entrega de productos, los servicios de educación en línea y especialmente el entretenimiento en línea, pueden no estar listos para el flujo de visitantes en la nueva realidad antes de finales de abril.

En base a nuestros 12 años de experiencia en soporte técnico de proyectos web y administración remota de servidores, hemos preparado una especie de "manual de capacitación": lo que vale la pena revisar y lo que debe cuidar si desea asegurarse de que su sitio pueda hacer frente a cualquier carga. Bueno, casi cualquiera.

Entonces, aquí hay 10 puntos que son críticos para la vida activa de su proyecto web en los próximos días y semanas:

1) Monitoree su infraestructura En

primer lugar, debe saber qué está pasando con su sitio. Si sabes cómo manejar Prometeo / Grafana, úsalos. Pero si no hay experiencia interactuando con ellos, esto no es un problema: puede usar cualquier servicio como datadog, puede instalarlo lo más rápido posible. ¿Todavía complicado? - Preste atención a Pingdom o Site24x7: estos no son servicios de monitoreo completos, pero son adecuados al menos para asegurarse de la disponibilidad de su sitio y para saber cuándo está cerca de caerse.

Recuerde: solo puede controlar lo que puede medir. Después de todo, si no sabe lo que está sucediendo dentro de su sistema, y ​​especialmente dónde está sucediendo, no podrá arreglarlo si algo se rompe allí.

Hay muchas opciones de lo que podría salir mal cuando el tráfico se acumula:

  • .
  • .
  • \.
  • \\.

2) Prepárese para escalar: una

vez que vea que ha alcanzado el 80% del límite de recursos, debe comenzar a escalar de inmediato. Porque si esperas al 100%, el sitio se caerá. Y necesitará algo de tiempo para restaurar el proyecto. Sin mencionar que todo está bastante nervioso ...

tienes que actuar rápidamente, porque de lo contrario perderás visitantes y posiblemente cometerás aún más errores en el modo "chef, todo está perdido, quema". Por lo tanto, cuando alcance la marca del 80% del límite de recursos, escale para disminuir al 40%.
Repita si es necesario (c)

3) No olvide monitorear el rendimiento del HDD y el ancho de banda del canal

Es mucho más difícil entender qué sucede cuando el sistema es "tonto" debido a la alta carga de disco o las limitaciones de ancho de banda.

4) Supervise el rendimiento de sus bases de datos,

especialmente si utiliza bases de datos en la nube. RDS, Cloud SQL, MongoDB Atlas y otros servicios se administran utilizando tecnologías en la nube, pero tienen sus propios límites y deben ser monitoreados para escalar a tiempo.

5) Cuando su base de datos crea una gran carga en la CPU - verifique el uso de índices, realmente ayuda

La introducción de la indexación reduce fantásticamente la carga en el procesador. Suponga que la CPU de su base de datos se usa al 90%. Probablemente desee escalar a la mitad para manejar la doble carga. Pero si la mayoría de sus consultas no están indexadas, la introducción de la indexación puede reducir la carga de la CPU en 10 veces. ¡El análisis del uso de índices vale la pena!

6) Vigile las cuentas de los servicios de los proveedores de la nube.

Es fácil olvidarlo cuando tienes problemas de tiempo. Por lo tanto, configure alertas en su sistema de facturación para recibir notificaciones de posibles sobrecostos. El ancho del canal es lo que es especialmente costoso. Si no es posible transferir contenido a CDN o a empresas de hosting que ofrecen grandes volúmenes de tráfico a bajo costo, como like100tb.com o leaseweb, prepárese para costos serios.

7) Evite el estado en su aplicación

A pesar de que es posible escalar los recursos del procesador o RAM en la nube, todavía hay límites que no se pueden cruzar. Desde este punto de vista, si desea escalar horizontalmente, agregando nuevas instancias de la misma aplicación, debería estar listo para tal desarrollo de eventos. Y cuando tiene varias instancias de la misma aplicación, las solicitudes de los usuarios se distribuirán entre varios servidores y, como resultado, no podrá almacenar datos en un disco local.

8) Considere la posibilidad de pasar a la nube si el sitio está en un alojamiento dedicado

En esta situación, no puede escalar fácilmente: agregar servidores tomará una cierta cantidad de tiempo, tomará de un par de horas a un par de días obtener nuevos servidores disponibles. Además, generalmente paga mensualmente, no por hora. En general, obviamente no desea esperar horas, o incluso días, si su sitio "miente". Es mucho más fácil escalar en la nube.

9) "Apriete" la infraestructura

Hay varias cosas básicas que están deshabilitadas de forma predeterminada, y deben optimizarse, a nivel del sistema operativo, la red, el administrador de aplicaciones y la propia aplicación. Y esto puede reducir significativamente el consumo de recursos. Busque en Google su configuración de pila de tecnología y siga las pautas básicas.

10) Prepárese para lanzar la versión en caché

A pesar de todos sus esfuerzos, con un aumento de tráfico cien veces mayor, "se acostará". Lleva tiempo escalar. Así que prepárate para usar la versión estática en caché. Para esto, es útil la caché Cloudfront / Cloudflare, la caché CDN, la caché nginx o cualquier otra. Solo asegúrese de tener la oportunidad si la necesita.

All Articles