Saltar al contenido
SDETRole
SDETRole

Glosario · Rendimiento

Prueba de carga

En inglés: Load testing

También llamado: load test, pruebas de carga, test de carga

Definición

Prueba de rendimiento que somete un sistema al tráfico real esperado para verificar tiempos de respuesta, tasa de errores y throughput frente a objetivos acordados.

Una prueba de carga (load testing) somete un sistema al tráfico que realmente se espera, normalmente el pico de carga habitual, y mide cómo se comporta: percentiles de latencia, tasa de errores, throughput (rendimiento) y uso de recursos. La pregunta que responde es “¿cumple sus objetivos de rendimiento con la carga que tenemos prevista?”. No se trata de romper el sistema; eso es una prueba de estrés.

Ejemplo (k6)

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '2m', target: 100 }, // ramp up to 100 virtual users
    { duration: '10m', target: 100 }, // hold at expected peak
    { duration: '1m', target: 0 },    // ramp down
  ],
  thresholds: {
    http_req_duration: ['p(95)<500', 'p(99)<1200'],
    http_req_failed: ['rate<0.01'],
  },
};

export default function () {
  const res = http.get('https://staging.example.com/api/products');
  check(res, { 'status is 200': (r) => r.status === 200 });
  sleep(1); // think time between iterations
}

Si se supera cualquiera de los umbrales, k6 termina con un código distinto de cero, de modo que el mismo script puede funcionar como compuerta (gate) en CI.

Carga, estrés, resistencia y picos

Tipo Perfil de carga Pregunta que responde
Carga Pico esperado, sostenido ¿Cumplimos los objetivos en el pico normal?
Estrés Creciente, por encima de lo esperado ¿Dónde y cómo se rompe, y se recupera?
Resistencia (soak) Carga normal durante horas ¿Se degrada con el tiempo (fugas, agotamiento de pools)?
Pico (spike) Salto repentino y luego caída ¿Sobrevive a una ráfaga y vuelve a escalar hacia abajo?

Cómo hacerlo bien

  • Modela el tráfico real. Usa la combinación de endpoints, tamaños de payload y tiempos de reflexión (think time) que muestran las analíticas de producción, no una única URL martilleada en bucle.
  • Usa un entorno similar a producción. Los resultados de un servidor de staging infradimensionado solo hablan de ese servidor.
  • Juzga por percentiles, no por promedios. Un promedio oculta la cola lenta, que es precisamente de lo que se quejan los usuarios.
  • Observa también el lado del servidor. CPU, memoria, conexiones a la base de datos y profundidad de colas explican por qué cambió la latencia.
  • Acuerda los objetivos antes. Sin una meta explícita como “p95 por debajo de 500 ms a 200 solicitudes por segundo”, una prueba de carga produce números, pero no un veredicto.

Escribe para buscar en todo SDETRole.

Búsqueda de texto completo con Pagefind · se ejecuta en tu navegador Abrir la página de búsqueda →