Saltar al contenido
SDETRole
SDETRole

Glosario · Rendimiento

Latencia por percentiles

En inglés: Percentile latency

También llamado: p50, p90, p95, p99

Definición

Medida del tiempo de respuesta, como p95 o p99, que indica el tiempo en que terminó esa proporción de solicitudes y revela la cola lenta que ocultan los promedios.

La latencia por percentiles describe los tiempos de respuesta por posición en lugar de por promedio. El p95 es el valor por debajo del cual (o igual al cual) quedó el 95 % de las solicitudes; solo el 5 % más lento tardó más. El p50 es la mediana, la experiencia típica. El p99 y el p99.9 describen la cola: las solicitudes más lentas, que suelen ser las que los usuarios notan y de las que se quejan.

Por qué los percentiles superan a los promedios

Toma 100 solicitudes: 90 tardan 100 ms y 10 tardan 2.000 ms.

Estadística Valor
Promedio 290 ms
p50 (mediana) 100 ms
p95 2.000 ms
p99 2.000 ms

El promedio de 290 ms no describe ninguna solicitud que haya ocurrido realmente. Parece aceptable, pero uno de cada diez usuarios esperó dos segundos. Los percentiles muestran ambos hechos: la mayoría de las solicitudes son rápidas y la cola es muy lenta. Además, unos pocos valores atípicos extremos arrastran el promedio, mientras que la mediana no se ve afectada.

La cola importa más de lo que parece. Una sola carga de página suele hacer muchas llamadas al backend, y una sesión de usuario implica muchas cargas de página, así que una gran parte de los usuarios se topará con al menos una solicitud tan lenta como el p99 durante su visita.

Uso de percentiles en los tests

Los objetivos y las compuertas de rendimiento deberían expresarse como percentiles. En k6:

export const options = {
  thresholds: {
    http_req_duration: ['p(50)<200', 'p(95)<500', 'p(99)<1500'],
  },
};

Informa de varios percentiles juntos (p50, p95, p99, máximo), junto con el throughput y la tasa de errores, porque cada uno cuenta una parte distinta de la historia.

Errores comunes

  • Promediar percentiles. La media de los p95 de diez servidores no es el p95 global. Los percentiles deben calcularse a partir de los datos brutos combinados o de histogramas que se puedan fusionar.
  • Muy pocas muestras. Un p99 obtenido de 200 solicitudes se basa en dos datos. Ejecuta la prueba el tiempo suficiente para tener recuentos significativos en la cola.
  • Ignorar los errores. Una solicitud que falla rápido, en 5 ms, puede hacer que la latencia parezca mejor. Lee siempre la latencia junto a la tasa de errores.
  • Omisión coordinada (coordinated omission). Una herramienta de carga que espera cada respuesta lenta antes de enviar la siguiente solicitud envía, sin avisar, menos solicitudes durante las ralentizaciones, lo que subestima la latencia de cola. Generar la carga por tasa de llegada (modelo abierto) reduce este efecto.

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 →