en Rendimiento y Mantenimiento

Tu hosting no aguanta una campaña: cómo hacer una prueba de carga antes del próximo pico

Tu hosting no aguanta una campaña: cómo hacer una prueba de carga antes del próximo pico

Cómo preparar tu hosting para el próximo pico de tráfico en e-commerce

Un servidor que colapsa a las 10 de la mañana del Hot Sale no es un problema técnico: es una venta perdida multiplicada por cada minuto de caída. Y no es un escenario hipotético. Con América Latina registrando ventas de comercio electrónico por US$180 mil millones en 2024 y una proyección que apunta a US$923 mil millones en 2026, los picos de demanda son cada vez más intensos y más cortos. El margen para reaccionar en caliente es casi nulo.

Con una tasa de conversión promedio del 1,88%, cualquier indisponibilidad de tu sitio destruye una porción real de tus ventas potenciales en minutos. La única forma de no quedar expuesto es prepararse antes. Eso empieza con una prueba de carga bien ejecutada.

Qué revisar antes de ejecutar cualquier prueba

Lanzar una prueba de carga sin preparación previa es como hacer un stress test sin saber cuál es el punto de partida. Antes de correr cualquier simulación, necesitás tener claro el estado real de tu infraestructura.

  • Recursos actuales del servidor: RAM disponible, uso de CPU en condiciones normales y límite de ancho de banda contratado.
  • Accesos y permisos: Confirmá que tenés acceso de administrador para modificar configuraciones durante o después de la prueba.
  • Ventana horaria: Elegí un momento de bajo tráfico real para ejecutar la prueba y evitar impacto en usuarios activos.
  • Soporte técnico disponible: Si tu equipo no tiene experiencia en pruebas de carga, considerá involucrar a alguien que pueda interpretar los resultados y actuar sobre ellos.

No hay prueba de carga útil si no sabés qué buscar ni tenés capacidad de intervenir cuando aparece un cuello de botella.

Cómo ejecutar una prueba de carga efectiva

Paso 1: Elegí la herramienta correcta para tu operación

Las opciones más usadas son Apache JMeter, Gatling y LoadNinja. JMeter es gratuito y muy configurable, pero requiere conocimiento técnico. Gatling tiene mejor rendimiento para simulaciones de alta concurrencia. LoadNinja es más accesible si el equipo no tiene perfil técnico profundo.

La elección no depende solo del presupuesto. Depende de cuántos usuarios concurrentes necesitás simular, qué tan complejos son los flujos de compra que querés testear y si el equipo puede interpretar los reportes que genera cada herramienta.

Paso 2: Definí los parámetros antes de correr nada

Acá está el error más común: ejecutar una prueba genérica que no refleja el tráfico real de una campaña. Los parámetros que necesitás definir son:

  • Cantidad de usuarios concurrentes esperados en el pico (basate en datos históricos de campañas anteriores o en proyecciones conservadoras).
  • Duración de la prueba: no alcanza con simular 2 minutos de carga si tu campaña dura 12 horas.
  • Flujos más críticos: checkout, página de producto, búsqueda interna. No todos los endpoints tienen el mismo peso.
  • Distribución geográfica del tráfico, si usás CDN o tenés usuarios en múltiples países.

Paso 3: Ejecutá y monitoreá en tiempo real

Durante la ejecución, no alcanza con dejar correr la prueba y revisar el reporte al final. Monitoreá en tiempo real:

  • Tiempo de respuesta promedio y percentil 95: El promedio puede verse bien mientras el 5% de los usuarios sufre tiempos de carga de 10 segundos.
  • Tasa de errores HTTP: Un aumento de errores 500 o 503 durante la prueba indica que el servidor ya está cediendo.
  • Uso de CPU y RAM: Si llegás al 90% de CPU con la mitad del tráfico simulado, el techo real está mucho más cerca de lo que pensabas.
  • Conexiones activas a la base de datos: En WooCommerce, la base de datos suele ser el primer punto de saturación bajo carga alta.

Cómo leer los resultados sin perderte en los datos

El reporte post-prueba puede ser intimidante si no sabés qué priorizar. Enfocate en tres señales concretas:

Degradación progresiva vs. colapso abrupto. Si el tiempo de respuesta sube gradualmente a medida que aumenta la carga, el problema suele ser de recursos (RAM, CPU, conexiones de base de datos). Si el sitio cae de golpe en un umbral específico, puede ser un límite de configuración: max_connections en MySQL, worker processes en Nginx, o un límite de PHP-FPM.

Dónde ocurren los errores. ¿Los errores aparecen en el checkout? ¿En la carga de imágenes? ¿En las llamadas a la base de datos? La ubicación del error define la solución. No es lo mismo optimizar imágenes que aumentar el pool de conexiones de la base de datos.

¿Los tiempos de carga se recuperan cuando baja la carga simulada? Si el servidor no vuelve a tiempos normales después de un pico, hay un problema de gestión de recursos que va más allá de la capacidad bruta.

Soluciones concretas según lo que encontrés

Cada problema detectado tiene una respuesta específica. Algunas de las más frecuentes en tiendas WooCommerce bajo carga:

  • Tiempo de carga alto en páginas de producto: Compresión de imágenes (WebP), lazy loading y activación de un CDN para activos estáticos. Si usás imágenes sin optimizar en tu catálogo, el impacto en carga es inmediato.
  • Saturación de base de datos: Implementá un sistema de caché de objetos como Redis o Memcached. En WooCommerce, esto reduce drásticamente la cantidad de consultas repetidas a la base de datos por sesión.
  • CPU al límite con tráfico moderado: Revisá si tenés plugins activos que generan procesos pesados en cada carga de página. Un plugin mal optimizado puede consumir más recursos que el propio WooCommerce.
  • Límites de infraestructura alcanzados: Si el techo es el plan de hosting, no hay optimización de código que lo resuelva. Puede ser el momento de migrar a un servidor dedicado o a una solución de hosting administrado con escalado automático.

Validación final: no des por cerrado el proceso antes de esto

Implementar mejoras no es suficiente. Necesitás volver a correr la prueba con los mismos parámetros para confirmar que los cambios tuvieron el efecto esperado. Una sola iteración raramente resuelve todos los puntos críticos.

Además, configurá monitoreo activo para el día de la campaña. Herramientas como New Relic, Datadog o incluso alertas básicas en UptimeRobot te permiten detectar degradación antes de que se convierta en caída. El objetivo no es reaccionar cuando el sitio ya cayó, sino intervenir cuando los indicadores empiezan a moverse en la dirección equivocada.

Checklist de verificación antes del lanzamiento

  • ☐ Segunda prueba de carga ejecutada con los mismos parámetros que la primera
  • ☐ Tiempo de respuesta en percentil 95 dentro de límites aceptables (<3 segundos bajo carga pico)
  • ☐ Tasa de errores HTTP por debajo del 1% durante la simulación
  • ☐ Caché de objetos activo y verificado
  • ☐ CDN configurado para activos estáticos
  • ☐ Monitoreo en tiempo real activo con alertas configuradas
  • ☐ Equipo técnico disponible durante las primeras horas de la campaña

Si algo falla durante la prueba: qué revisar primero

  • Errores 500/503 desde el inicio: Revisá los logs de PHP y del servidor web. Suele ser un límite de memoria o un proceso que muere bajo carga.
  • Tiempos de respuesta que no bajan después del pico: Revisá si hay procesos colgados o conexiones de base de datos que no se liberaron correctamente.
  • La prueba termina pero el sitio sigue lento: Revisá el caché. Puede haberse invalidado durante la prueba y no haberse reconstruido.
  • Resultados inconsistentes entre pruebas: Asegurate de que el caché esté en el mismo estado al inicio de cada ejecución. Una prueba con caché frío y otra con caché caliente no son comparables.

Un canal más para gestionar durante el pico: Mercado Libre

Si además de tu tienda WooCommerce operás publicaciones en Mercado Libre, el pico de tráfico también golpea ese canal. Stock que se agota en un canal pero no se actualiza en el otro, pedidos que entran en paralelo desde ambas plataformas, precios que quedaron desactualizados antes del lanzamiento: son fricciones operativas que se amplifican exactamente cuando más tráfico tenés.

El plugin para sincronizar WooCommerce y Mercado Libre de WooSync mantiene el stock, los precios y el estado de tus publicaciones alineados entre ambas plataformas de forma automática. Así, cuando el pico llega, no estás gestionando dos inventarios por separado ni corrigiendo quiebres de stock a mano en el peor momento posible.

Sincronizador de WooSync para mantener stock y precios alineados entre WooCommerce y Mercado Libre durante picos de tráfico
El sincronizador de WooSync actualiza stock y precios en ambas direcciones, evitando quiebres de stock durante campañas de alta demanda.

Un servidor preparado para el pico es la base. Pero si tu operación corre en dos canales, la coordinación entre ellos también tiene que estar resuelta antes del lanzamiento. Podés conocer más sobre cómo funciona la sincronización en el plugin de sincronización WooCommerce–Mercado Libre de WooSync y evaluar si se ajusta a tu operación.

WooCommerce → Mercado Libre

Conectá tu tienda y vendé más

Ver WooSync