Luchando para controlar las sobrecargas de tráfico

Publicado: 2022-03-10
Resumen rápido ↬ “Si lo construyes, vendrán”. Eso es ciertamente cierto cuando dedica mucho tiempo y esfuerzo a crear sitios web y PWA para los clientes. Pero, ¿qué sucede cuando "vendrán" se convierte en "demasiados de ellos vinieron todos a la vez y ahora el sitio se ha caído"? Ocurren picos de tráfico. Pero en lugar de dejar que su sitio web se convierta en una víctima de ellos, esta guía le mostrará cómo puede configurarlo para que sea el vencedor.

(Este es un artículo patrocinado). Cuando se produce un pico de tráfico, desea que su sitio web pueda montar la ola en lugar de ahogarse debajo de ella.

Pero, ¿cómo haces eso sin gastar demasiado en los recursos del servidor en previsión de un aumento de tráfico que puede ocurrir o no?

Parte de esto se reduce a saber cómo leer sus datos muy bien para que pueda predecir los próximos aumentos (o caídas) en el tráfico. Incluso entonces, los flujos y reflujos de sus datos no siempre predicen con precisión cuándo se producirá un aumento de tráfico, qué tan grande será o cuánto durará.

Entonces, lo que debe hacer es asegurarse de que los sitios web de sus clientes estén preparados para recibir el golpe y luego mantener el tráfico. Lo que vamos a hacer hoy es ayudarlo a crear un sistema de herramientas, monitoreo y pruebas que permitirán que sus sitios web hagan esto.

Cómo preparar su sitio web para un aumento de tráfico

Para preparar adecuadamente su sitio web para los aumentos repentinos de tráfico, debe configurar un sistema que sea tanto proactivo como reactivo. Esto es lo que debe incluir:

1. Mueva su sitio web a una solución escalable en la nube

La razón por la cual los aumentos repentinos de tráfico pueden causar estragos en los sitios web es porque los servidores de alojamiento y los recursos no están preparados para manejarlos. Puro y simple.

Dicho esto, si no puede predecir cuándo ocurrirá un aumento, ¿cómo se asegura de que su alojamiento tenga la capacidad para manejar el aumento de la carga de tráfico? ¿Simplemente arroja más dinero en un plan de alojamiento de gran tamaño por si acaso ?

Obviamente, esa no es una forma rentable de lidiar con un aumento potencial del tráfico. En su lugar, debe buscar una solución de alojamiento que se adapte a sus necesidades.

Aproveche la tecnología de hospedaje de DigitalOcean

Uno de esos proveedores que puede ayudar con esto es DigitalOcean, un desarrollador de soluciones escalables en la nube.

Lo bueno de esta opción es que DigitalOcean le ofrece "gotas" optimizadas para elegir. No hay necesidad de adivinar qué plan es el adecuado para usted: todo está claramente explicado en las recomendaciones de casos de uso muy útiles de DigitalOcean:

Gotas de vCPU de Digital Ocean
DigitalOcean vende CPU virtuales que están optimizadas para casos de uso específicos. (Fuente: DigitalOcean) (Vista previa grande)

Como puede ver, los Droplets son máquinas virtuales fáciles de configurar creadas para diferentes tipos de sitios web y aplicaciones. Además, están configurados para brindar velocidad y seguridad desde el primer momento con hipervisores KVM, almacenamiento SSD y conectividad de 40 GbE.

Además, a medida que crece el tráfico de su sitio web, es fácil actualizar la cantidad de almacenamiento y ancho de banda dentro de su Droplet. Y si puede descubrir la rima o la razón de los aumentos repentinos de tráfico más adelante, puede escalar rápidamente sus recursos hacia arriba y hacia abajo para adaptarse a los cambios en el tráfico.

Dicho esto, una solución de alojamiento en la nube escalable no es suficiente para hacer frente a los aumentos repentinos de tráfico. Hay un par de cosas más que necesitarás.

Use balanceadores de carga para sobretensiones

Si no está familiarizado con la tecnología de equilibrio de carga, echemos un vistazo a la diferencia entre un sitio web con y sin ella.

Esto es lo que sucede cuando alguien visita su sitio web sin un balanceador de carga:

DigitalOcean: gráfico sin equilibrio de carga
Un gráfico de DigitalOcean sobre cómo los visitantes acceden a un sitio web sin equilibrio de carga. (Fuente: DigitalOcean) (Vista previa grande)

Inician sesión en Internet, ingresan su URL en su navegador web o hacen clic en un enlace y luego se supone que su servidor debe mostrar su sitio web en su pantalla.

Pero si la cantidad de tráfico que solicita acceso a su sitio aumenta repentinamente, es posible que este servidor solitario no pueda manejar la carga de manera eficiente. Esta es la razón por la cual los picos de tráfico excesivamente altos pueden conducir a sitios web dolorosamente lentos o sin acceso a los sitios web por completo.

Sin embargo, con un balanceador de carga, esto es lo que sucede con su tráfico web:

DigitalOcean - Gráfico de equilibrio de carga
Un gráfico de DigitalOcean sobre cómo los visitantes acceden a un sitio web cuando se implementa el equilibrio de carga. (Fuente: DigitalOcean) (Vista previa grande)

Un equilibrador de carga sirve como una especie de proxy para su servidor. De esta manera, cuando el tráfico alcanza su punto máximo, su servidor no tiene que luchar para manejar la demanda. En su lugar, el equilibrador de carga aprovecha varios servidores para equilibrar el creciente volumen de solicitudes HTTP.

Es como distribuir su carga de trabajo entre su equipo. En lugar de seguir acumulando solicitudes de miembros del equipo que ya están sobrecargados, comparte el trabajo con aquellos que tienen la capacidad para hacerlo.

Sin embargo, a diferencia de la distribución del trabajo en el mundo real, los balanceadores de carga hacen todo esto en segundo plano y no necesitan que usted coordine nada, ya que está completamente administrado.

Aproveche la supervisión del rendimiento y las copias de seguridad

Siempre que tenga la cantidad correcta de ancho de banda y almacenamiento configurados en su droplet, y el equilibrio de carga activado, su sitio web estará en buena forma. No será impermeable a las oleadas de tráfico, pero será lo más parecido a él que puedas conseguir.

Solo tenga en cuenta que para todos los refuerzos que realiza a nivel de servidor, sigue siendo importante contar con un plan de contingencia.

El plan de continuidad de su negocio (sitio web) debe incluir todas las cosas que debe hacer para que su sitio web vuelva a la normalidad, incluido cómo:

  • Restaurar el sitio web,
  • Investigar el evento que condujo a ello,
  • Y comuníquese con los visitantes y clientes que se vieron afectados.

Dicho esto, hay algunas partes de su plan de continuidad con las que DigitalOcean puede ayudarlo.

Las copias de seguridad automáticas son esenciales para cualquier sitio web, pero son absolutamente críticas si sabe que su sitio web será susceptible a aumentos repentinos de tráfico. El soporte 24/7 es otra necesidad y es algo que también ofrece DigitalOcean.

Otra cosa que debe buscar es el monitoreo de rendimiento integrado, algo que voy a tocar más adelante en esta publicación.

2. Optimice sus activos

Con una solución sólida de alojamiento en la nube, sin duda puede brindarle a su sitio web la ayuda que necesita para sobrevivir a un gran aumento de tráfico. Sin embargo, no todo puede recaer en su anfitrión. Debe hacer su parte para que su sitio web sea lo suficientemente "ligero" para servir una y otra vez a la avalancha de visitantes.

Aquí hay algunas cosas que puede hacer para optimizar su sitio web y sus activos para un mayor rendimiento:

Habilitar almacenamiento en caché y otras optimizaciones de archivos

¿Quiere que sus activos digitales sean más fáciles de manejar? Luego, necesitará configurar las siguientes optimizaciones:

almacenamiento en caché

Hay una variedad de formas de implementar el almacenamiento en caché y acelerar la rapidez con la que su sitio web se entrega a los navegadores de los visitantes. Puede hacer esto en los niveles de servidor, página, base de datos del navegador.

Su proveedor de alojamiento web puede ayudarlo a configurar el almacenamiento en caché del servidor.

Si ha creado su sitio web con un sistema de administración de contenido como WordPress, puede instalar un complemento de almacenamiento en caché para que se encargue del sitio web y del almacenamiento en la base de datos por usted. (También hará cosas como la minificación de archivos, la compresión Gzip combina archivos CSS y JavaScript).

Siempre puede habilitar el almacenamiento en caché manualmente. Utilizará los encabezados de su caché y dos mecanismos en particular (control de caché y expiración) para configurar cómo se almacena en caché su contenido.

Optimización de imagen

No se olvide de sus medios. Los archivos de imagen y video pueden ocupar mucho espacio en su servidor e impedir la rapidez con la que funciona su servidor durante un aumento de tráfico. Para optimizar estos activos, debe usar la compresión y el cambio de tamaño de archivos.

Para comprimir imágenes a granel, usaré una herramienta en línea como TinyPNG o TinyJPG para manejarlo por mí.

Compresión de imagen TinyPNG
TinyPNG ofrece una manera rápida y fácil de comprimir activos de imagen de forma masiva. (Fuente: TinyPNG) (vista previa grande)

En promedio, puedo reducir el tamaño de mis archivos en un 75 % con esta herramienta.

Para reducir aún más el peso de sus imágenes, debe cambiarles el tamaño. No hay razón para cargar activos de tamaño completo en un sitio web si el ancho máximo que va a utilizar es de 1280 píxeles o más o menos.

Para esto, usaré mi software de archivo para hacerlo todo de una vez o usaré un servicio en línea como Bulk Resize Photos.

Herramienta de cambio de tamaño de imagen de fotos de cambio de tamaño masivo
Bulk Resize Photos ofrece una manera fácil de cambiar el tamaño de los activos de imagen de forma masiva utilizando una variedad de métodos de cambio de tamaño. (Fuente: Fotografías con cambio de tamaño masivo) (Vista previa grande)

Aquí hay mucha flexibilidad en la forma en que se cambia el tamaño de las imágenes, pero creo que establecer un ancho máximo generalmente funciona mejor.

Usar bases de datos administradas

Además de optimizar los activos que coloca en un sitio web, debe tener cuidado para optimizar sus bases de datos. Dicho esto, a menudo es más fácil decirlo que hacerlo.

Si bien estoy familiarizado con la limpieza de bases de datos y los complementos de optimización que puede usar con WordPress para que todo funcione sin problemas, eso no ayudará mucho cuando se trata de un aumento de tráfico. Necesita algo que ayude a su base de datos a seguir procesando las solicitudes de datos entrantes incluso a un ritmo mayor.

Para eso, lo mejor sería una solución de base de datos administrada, algo que pueda aprovisionar desde DigitalOcean.

Cuando se detecta un aumento de tráfico, los servicios de base de datos administrados simplifican lo que se debe hacer para escalar sus recursos en consecuencia. No se necesitan cálculos; simplemente inicie sesión en su cuenta y agregue más recursos según sea necesario.

Otra razón por la que los servicios gestionados son ideales en este tipo de situaciones es por su alta disponibilidad integrada. Y esto no es solo una promesa general de un tiempo de actividad del 99,9 %. Si echa un vistazo al SLA de su host, encontrará que hará todo lo posible para evitar una gran cantidad de tiempo de inactividad.

Agregar un CDN

Hay otra capa de optimización para agregar a su sitio cuando los aumentos repentinos de tráfico son una ocurrencia común: un CDN.

Las redes de entrega de contenido son útiles por una gran cantidad de razones. Son geniales para servir sitios web a visitantes globales. Definitivamente son útiles para los sitios web de comercio electrónico que desean brindar una experiencia de pago más rápida. Y brindan velocidad, seguridad y conmutación por error adicionales para los sitios web que ocasionalmente experimentan grandes aumentos en el tráfico.

Si planea usar DigitalOcean para alojar su sitio web, busque su producto Spaces (con integración CDN incorporada) para un almacenamiento y entrega más eficiente de sus activos.

3. Analiza tus informes de tráfico

En general, es muy importante ser diligente en la recopilación de datos de su sitio web. Eso es especialmente cierto cuando se lucha contra aumentos repentinos de tráfico. Este es el por qué:

Si hay altibajos predecibles en el tráfico de su sitio web, sabrá cuándo y cómo planificarlos exactamente. Esto no solo significa optimizar su sitio web y servidor para manejar el tráfico, sino también tener la cantidad adecuada de personal para monitorearlo y administrarlo.

Para hacer esto, use Google Analytics para controlar todo.

Google Analytics: registro de páginas vistas
Un gráfico de muestra de tráfico y páginas vistas de Google Analytics. (Fuente: Google Analytics) (Vista previa grande)

Este ejemplo es una extracción de datos de 12 meses que muestra cuántas vistas de página se produjeron cada día (más o menos). También puede hacer esto con otras métricas, como la cantidad de usuarios o sesiones. Sin embargo, el objetivo principal es identificar cualquier fuente de estrés a lo largo del año, y las páginas vistas excesivas (o las conversiones de comercio electrónico, si corresponde) pueden ser una forma más efectiva de medir esto.

Puede ver aquí que hubo una serie de altibajos que tuvieron lugar:

Google Analytics - búsqueda de aumento de tráfico
Un ejemplo de cómo los usuarios de Google Analytics buscarían aumentos repentinos de tráfico en sus datos. (Fuente: Google Analytics) (Vista previa grande)

En lugar de tomarlos al pie de la letra, haga una referencia cruzada con otros puntos de datos para asegurarse de que lo que está viendo sea un aumento de tráfico del que pueda aprender.

Descartar el desarrollo web

Por ejemplo, ¿hubo algún desarrollo en el sitio en esos días? Si alguien estuviera reparando un error o diseñando una nueva página, eso podría causar que los números de páginas vistas aumentaran considerablemente.

Si esto sucede con frecuencia, sería una buena idea eliminar automáticamente estos datos de sus informes a nivel de Google Analytics. Puede hacerlo desde el menú Admin.

Vaya a Ver > Filtros > Agregar filtro:

Filtros de Google Analytics
Los usuarios de Google Analytics pueden eliminar sus métricas de visitas personales y páginas vistas de los resultados. (Fuente: Google Analytics) (Vista previa grande)

Al filtrar los datos de su dirección IP, así como de cualquier otra persona que pueda obtener una vista previa del sitio con frecuencia con fines de prueba o creación de contenido, obtendrá una visión más precisa de sus niveles de tráfico.

Digamos que los picos de tráfico no fueron de su equipo interno. A continuación, querrá ver si estos aumentos (o caídas) de tráfico ocurren en intervalos predecibles.

Busque sobretensiones predecibles

Si su sitio web ha estado activo durante más de un año, puede usar Google Analytics para ver si existe una correlación. Simplemente configure sus fechas para compararlas con el mismo período de tiempo del año anterior:

Comparación de rango de fechas de Google Analytics
Google Analytics permite a los usuarios comparar dos rangos de fechas uno al lado del otro. (Fuente: Google Analytics) (Vista previa grande)

Luego, busque superposiciones en los picos de tráfico:

Datos de comparación de intervalos de fechas de Google Analytics
Los usuarios de Google Analytics pueden revisar simultáneamente dos rangos de fechas para la previsibilidad del aumento de tráfico. (Fuente: Google Analytics) (Vista previa grande)

En este caso, tal vez haya solo uno o dos picos notables que ocurrieron en ambos años. La primera fue a principios de abril y la otra a mediados de noviembre.

Si estos fueron aumentos excesivos en ambos años, como al menos cinco veces más que la cantidad habitual de tráfico, diría que valdría la pena investigarlos. En este ejemplo, sin embargo, probablemente sea solo una coincidencia y se pueden descartar.

Consulta el Calendario

Si ha identificado un aumento de tráfico notable en sus datos, lo último que debe hacer es compararlo con su calendario.

Lo que estás buscando son eventos que podrían haber causado la oleada. Cosas como:

  • Ventas navideñas que generaron mucho revuelo.
  • Comunicados de prensa que fueron recogidos en los principales cables de noticias.
  • Publicaciones de blog virales u ofertas de correo electrónico que envió.

También sugeriría observar el tráfico durante los días o semanas posteriores al aumento del tráfico.

¿Cómo disminuyó? ¿Fue de repente o fue lento? ¿El sitio web pudo mejorar sus números de tráfico diario, aunque sea levemente, gracias al aumento?

Además, observe cómo se vio afectada la organización. Esto es especialmente importante para los sitios web de comercio electrónico que brindan atención al cliente y devoluciones de productos. ¿Hubo un repunte en la actividad de posventa después del aumento? ¿Cuándo golpeó? ¿Cuánto tiempo duró?

Si puede averiguar por qué ocurrió el aumento de tráfico (es decir, qué evento lo desencadenó) y cuáles fueron las consecuencias, puede usar esto para su ventaja en el futuro. Por ejemplo, si sabe que una venta o publicación viral provocó el aumento, puede planificar su servidor y los recursos de personal antes de la próxima.

Independientemente de lo que encuentre en los informes antiguos, esto debe convertirse en parte de su proceso continuo. Configure Google Analytics para generar informes de tráfico y enviárselos por correo electrónico periódicamente. De esta manera, a medida que cambien los niveles de tráfico, para bien o para mal, siempre estará al tanto de lo que sucede y podrá adaptar su estrategia en consecuencia.

4. Supervisión del rendimiento en tiempo real

Google Analytics lo ayudará a descubrir qué sucedió en el pasado y prepararse de manera más efectiva para futuras oleadas de tráfico. La supervisión del rendimiento en tiempo real, por otro lado, le permitirá reaccionar ante aumentos repentinos de tráfico y otros cambios de rendimiento en el calor del momento.

Hay varias herramientas que puede usar para el monitoreo en tiempo real. He aquí sólo una muestra de ellos:

Supervisión del rendimiento de la interfaz

Cuando la velocidad de la página comienza a deteriorarse repentinamente o su sitio web deja de funcionar, no hay tiempo que perder. Dicho esto, no debería depender de usted iniciar sesión regularmente en su sitio web para asegurarse de que todo funcione bien.

En su lugar, puede usar un servicio de monitoreo de velocidad y tiempo de actividad como Pingdom:

Servicios de monitoreo y alertas de Pingdom
Los usuarios pueden automatizar el tiempo de actividad, el usuario y la velocidad de monitoreo con Pingdom. (Fuente: Pingdom) (Vista previa grande)

Maneja el tedioso trabajo de monitorear su sitio web en busca de aumentos en el tráfico, problemas con la velocidad o el tiempo de actividad, así como problemas detectados al finalizar la compra. También le proporcionará avisos en tiempo real para que pueda solucionar los problemas causados ​​por las sobrecargas de tráfico antes de que se agraven.

De esta forma, solo tendrá que prestarle a su sitio web la atención y el cuidado que necesita cuando un aumento de tráfico tenga un impacto negativo en el rendimiento en lugar de preocuparse constantemente por ello.

Supervisión del rendimiento de back-end

Si bien es excelente tener un servicio de monitoreo frontend que le informe cuando el tráfico está fuera de control, no es suficiente. También necesita saber qué está pasando en el backend.

Por supuesto, con una solución de hospedaje administrado, obtendrá ayuda de su proveedor. Sin embargo, es una buena idea familiarizarse con las métricas de su servidor para que pueda ser proactivo en la lucha contra los efectos devastadores de las sobretensiones.

Estas son algunas de las métricas a tener en cuenta:

  • Recursos de alojamiento (como memoria y espacio en disco),
  • El rendimiento de su aplicación (como las tasas de error y el uso de recursos),
  • Conectividad (como la latencia y la utilización del ancho de banda).

Familiarícese con estas métricas clave para que nunca se esfuerce por descubrir qué está pasando con su sitio web o cómo solucionarlo.

Ahora, con DigitalOcean, no solo tendrá acceso a estas prácticas métricas. También lo configurará con monitoreo y alertas en tiempo real. Y eso no es todo.

El problema con muchos sistemas de monitoreo es que son solo eso: buscan interrupciones, errores e inestabilidad, pero todavía depende de usted tomar medidas. Sin embargo, con DigitalOcean, puede automatizar ciertas acciones para que se lleven a cabo cuando se detectan escenarios específicos.

Por ejemplo, supongamos que su sitio web está recibiendo una avalancha de tráfico mucho mayor de lo que había previsto para la venta navideña. Sus recursos se están agotando demasiado rápido, lo que normalmente pondría a un sitio web en riesgo de ralentizarse o bloquearse por completo. Pero en este caso, el mecanismo de monitoreo detectó el problema y se activó su acción de escalado automático.

Imagine lo útil que sería automatizar la respuesta de su servidor a ciertos eventos. Podría pasar menos tiempo preocupándose por cómo restaurar su sitio web y, en cambio, concentrarse en cómo seguir optimizando los activos de su servidor para mantener los altos niveles de tráfico.

Terminando

Si los sitios web o las PWA de sus clientes no están preparados para un aumento de tráfico, podría significar un gran problema para sus negocios una vez que se asiente el polvo. Y no es solo el tiempo de inactividad o la carga lenta de las páginas lo que les costará a ellos (oa usted).

Hacer que todos esos visitantes adicionales vean un sitio web en mal estado, desde pagos o formularios rotos hasta infecciones de malware, también dañará su negocio.

En lugar de cruzar los dedos o decirse a sí mismo que su sitio web no es lo suficientemente grande o popular para experimentar una de esas oleadas de tráfico, prepárese. Al comenzar con una solución práctica de alojamiento en la nube de DigitalOcean y luego optimizar su servidor, los activos y los procesos que los rodean, mejorará las posibilidades de que su sitio web no solo sobreviva intacto a un aumento repentino, sino que se beneficie enormemente de él.