¿Qué es capacity testing?

El capacity testing halla la carga máxima que un sistema soporta cumpliendo sus objetivos de rendimiento. Pasos, métricas y errores frecuentes.

¿Qué es el capacity testing?

El capacity testing (prueba de capacidad) encuentra la carga más alta que un sistema puede soportar sin dejar de cumplir sus objetivos de rendimiento, como un tiempo de respuesta p95 o una tasa de errores máxima. Aumentas la carga por escalones y te detienes en el último escalón en el que se cumplieron todos los objetivos. El resultado es un número concreto, por ejemplo usuarios concurrentes o peticiones por segundo, con el que dimensionas servidores y planificas el crecimiento.

Cómo funciona una prueba de capacidad

  1. Define primero los objetivos. Por ejemplo: p95 por debajo de 800 ms y tasa de errores por debajo del 0,5 %. Son tus objetivos de nivel de servicio (SLO).
  2. Sube por escalones. Empieza por debajo del tráfico esperado y añade carga en pasos iguales, manteniendo cada escalón el tiempo suficiente para leer valores estables (entre 5 y 15 minutos es habitual).
  3. Comprueba todos los objetivos en cada escalón. El primer escalón en que falla uno termina la prueba.
  4. Lee el resultado. La capacidad es el último escalón en que todo se cumplió. Planifica operar por debajo, con margen de seguridad.

Ejemplo: una API de pago cumple sus objetivos con 300, 400 y 500 usuarios virtuales y a los 600 el p95 supera el límite. La capacidad es de 500 usuarios. Si esperas 450 en el pico, casi no hay margen: escala antes del lanzamiento, no después.

Capacity testing frente a breakpoint testing

Ambos empujan la carga por encima del pico esperado. La diferencia es cuándo paras:

  • El capacity testing termina cuando los objetivos se incumplen por primera vez. El resultado es la carga más alta que aún los cumplía.
  • El breakpoint testing continúa hasta que el sistema falla por completo. El resultado es el techo absoluto, normalmente muy por encima del rendimiento aceptable.

La distancia entre ambos es tu margen de seguridad. Para el contexto general, consulta las pruebas de escalabilidad, que estudian cómo cambia la capacidad al añadir recursos, y la comparativa del blog load testing vs stress testing.

Cuándo hacer una prueba de capacidad

  • Dimensionar la infraestructura. La capacidad de un nodo te dice cuántos nodos necesitas para el tráfico objetivo más el margen.
  • Antes de un lanzamiento o campaña. Comprueba que el tráfico previsto cabe dentro de la capacidad mientras aún puedes reaccionar.
  • Reglas de autoescalado. La capacidad por instancia dividida por la utilización objetivo da un disparador de escalado razonable.
  • Tras cambios importantes. Una base de datos, un framework o una caché nuevos pueden mover la capacidad en ambas direcciones.

Qué registrar al llegar a la capacidad

  • Máximo de usuarios o peticiones por segundo sostenibles. El resultado principal.
  • Margen hasta el breakpoint. Una capacidad al 80 % del breakpoint es cómoda; al 99 % es frágil.
  • Uso de recursos en la capacidad. CPU, memoria, conexiones a base de datos y pools de hilos indican qué escalar primero.
  • Tiempo en la capacidad. Algunos sistemas superan una carga breve y se degradan con carga sostenida. Mantén el último escalón todo el tiempo que cubra tu SLO y usa un soak test más largo para detectar fugas lentas.

Errores frecuentes

  • No definir objetivos, de modo que la "capacidad" es una sensación y no un número.
  • Subir demasiado rápido. Las colas y cachés necesitan tiempo, y los escalones cortos sobrestiman la capacidad.
  • Probar un solo endpoint cuando el tráfico real es una mezcla. Usa un escenario realista.
  • Leer medias en lugar de percentiles. Mira la latencia para ver por qué la media oculta las peticiones lentas.
  • Probar en un entorno más pequeño que producción y extrapolar el resultado a ojo.

Hacerlo con LoadFocus

El capacity testing usa los mismos scripts que las pruebas de carga, con una rampa por escalones. Las pruebas de JMeter y k6 se pueden ejecutar desde la nube, y las pruebas de carga de LoadFocus se lanzan desde 25 regiones cloud, así que puedes medir la capacidad tal como la viven usuarios de varias regiones. Puedes fijar umbrales de tiempo de respuesta p95 y p99, tasa de errores máxima y rendimiento mínimo, y cada ejecución recibe un veredicto de superado o no superado que puede bloquear un despliegue desde CI. El plan Free se limita a 10 usuarios virtuales; los planes de pago llegan hasta 20.000 usuarios concurrentes por prueba.

Preguntas frecuentes

¿Qué diferencia hay entre capacity testing y load testing?

El load testing comprueba el comportamiento con una carga esperada. El capacity testing sigue aumentando la carga para hallar el máximo que el sistema soporta dentro de sus objetivos.

¿En qué se diferencia la capacidad del breakpoint?

La capacidad es el último nivel de carga que aún cumplía tus objetivos. El breakpoint es donde el sistema falla de verdad. La capacidad siempre es menor, y la diferencia es tu margen de seguridad.

¿Cuánto debe durar cada escalón?

Lo suficiente para que los tiempos de respuesta se estabilicen, normalmente de 5 a 15 minutos. Los sistemas con cachés, colas o pools de conexiones necesitan escalones más largos.

¿Qué métricas definen la capacidad?

Percentiles del tiempo de respuesta (p95 o p99), tasa de errores y rendimiento. La capacidad es la carga más alta en la que las tres se mantienen dentro de los objetivos que fijaste.

¿Con qué frecuencia repetir una prueba de capacidad?

Tras cambios importantes en código, infraestructura o volumen de datos, y antes de los picos de tráfico esperados. Una ejecución programada detecta degradaciones lentas entre esos momentos.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.