El tiempo de respuesta promedio de tu API es 120ms. Suena rapido. Tu equipo esta contento. Tu dashboard esta en verde.

Pero 1 de cada 20 de tus usuarios esta esperando mas de 2 segundos por cada request. Ellos no estan contentos. Se estan yendo.

Este es el problema con los promedios. Ocultan las peores experiencias detras de un numero reconfortante. La latencia P95 corrige esto mostrandote lo que tus usuarios tipicos mas lentos realmente experimentan — y es la metrica de rendimiento mas importante para cualquier API en produccion.

Que es la latencia P95?

La latencia P95 (percentil 95 de latencia) es el tiempo de respuesta por debajo del cual el 95% de todas las requests se completan. Si tu P95 es 400ms, entonces 95 de cada 100 requests terminan en 400ms o menos.

Pensalo como una fila en una cafeteria. La espera promedio puede ser 3 minutos. Pero si sos la persona detras de alguien que pide 12 bebidas personalizadas, esperas 15 minutos. El promedio no te aviso. El P95 lo habria hecho.

P50 vs P95 vs P99: tabla comparativa

MetricaQue te diceA quien representaCuando usarla
PromedioMedia aritmetica de todos los tiemposA nadie — es una abstraccion matematicaVision general; nunca para SLAs
P50 (mediana)El tiempo de respuesta del medioTu usuario tipicoEntender el rendimiento base
P95El 95% de requests son mas rapidasTus usuarios regulares mas lentos (1 de 20)SLAs, alertas, presupuestos de rendimiento
P99El 99% de requests son mas rapidasTus usuarios en el peor caso (1 de 100)Debugging de tail latency, rutas criticas

Por que el tiempo de respuesta promedio es enganoso

Imagina que tu API maneja 1,000 requests en una ventana de 5 minutos:

  • 950 requests completan en 80-150ms
  • 45 requests completan en 800-1,200ms
  • 5 requests completan en 4,000-8,000ms

El tiempo de respuesta promedio? Unos 200ms. Se ve bien en un dashboard.

El P95? Unos 1,100ms. Eso cuenta una historia completamente diferente — 50 de tus usuarios en esa ventana de 5 minutos esperaron mas de un segundo.

Esto importa especialmente para el monitoreo de REST APIs, donde un pequeno porcentaje de endpoints lentos puede degradar toda la experiencia del usuario mientras tu promedio se ve saludable.

Como calcular percentiles

El calculo es directo: ordena todos los valores y elige el que esta en la posicion deseada. Aqui hay una implementacion en JavaScript:

function calculatePercentile(values, percentile) {
  if (values.length === 0) return 0;
  const sorted = [...values].sort((a, b) => a - b);
  const index = Math.ceil((percentile / 100) * sorted.length) - 1;
  return sorted[Math.max(0, index)];
}

const responseTimes = [
  45, 52, 61, 67, 72, 78, 83, 89, 95, 102,
  110, 118, 125, 140, 165, 210, 380, 520, 890, 2100
];

console.log('P50:', calculatePercentile(responseTimes, 50));   // 102ms
console.log('P95:', calculatePercentile(responseTimes, 95));   // 890ms
console.log('P99:', calculatePercentile(responseTimes, 99));   // 2100ms

En produccion, las herramientas de monitoreo usan algoritmos como t-digest o histogramas HDR para calcular percentiles precisos sobre millones de puntos sin almacenar cada valor en memoria.

Como monitorear la latencia P95

1. Recopila tiempos de respuesta por endpoint

El P95 global a traves de todos los endpoints es un punto de partida, pero oculta endpoints lentos detras de los rapidos. Siempre desglosa el P95 por endpoint, por metodo y por status code.

2. Configura alertas sobre P95, no promedios

Configura alertas que se disparen cuando la latencia P95 exceda tu target por mas de 5 minutos. Un spike aislado es ruido. Un aumento sostenido de P95 significa que algo cambio.

3. Rastrea tendencias de P95 en el tiempo

Un P95 que sube de 200ms a 300ms en dos semanas es mas dificil de notar que un spike repentino, pero es igual de peligroso.

4. Compara P95 entre regiones

Usuarios en Sao Paulo pueden tener un P95 muy diferente que usuarios en Frankfurt. El monitoreo multi-region expone diferencias de rendimiento geograficas. Para un desglose detallado de como DNS, TLS y TTFB contribuyen a las diferencias de latencia regional, consulta nuestra guia sobre metricas de rendimiento de REST API.

Targets de latencia P95 por tipo de API

Tipo de APIBuen P95AdvertenciaCritico
Microservicio interno< 100ms100-250ms> 250ms
REST API (publica)< 500ms500-1,000ms> 1,000ms
GraphQL API< 800ms800-1,500ms> 1,500ms
Pago / checkout< 300ms300-600ms> 600ms
Busqueda / autocompletado< 200ms200-400ms> 400ms
Entrega de webhooks< 1,000ms1,000-3,000ms> 3,000ms
Carga / procesamiento de archivos< 2,000ms2,000-5,000ms> 5,000ms
Real-time / WebSocket init< 150ms150-300ms> 300ms

Causas comunes de latencia P95 alta

  • Cold starts — Funciones serverless (Lambda, Vercel Functions) tardan 200-2,000ms en inicializar.
  • Rendimiento de queries de base de datos — Un indice faltante en una tabla que crece se vuelve progresivamente mas lento.
  • Pausas de garbage collection — En Node.js, Java o Go, las pausas de GC congelan el event loop.
  • Agotamiento del pool de conexiones — Cuando el pool esta lleno, las requests hacen cola.
  • Lentitud de dependencias downstream — Si tu API llama a un servicio de terceros que es lento el 5% del tiempo, tu P95 hereda su P95.
  • Overhead de DNS y TLS — La primera request a un host nuevo incurre en costos de DNS lookup y TLS handshake.

Empieza a monitorear la latencia P95 hoy

Nurbak Watch mide la latencia P95 desde 4 regiones globales automaticamente, junto con DNS, TLS, TTFB y tiempo de respuesta para cada endpoint monitoreado. Sin agentes, sin configuracion compleja.

Empieza a monitorear gratis y ve lo que tus usuarios realmente experimentan.

Preguntas frecuentes

Que es la latencia P95?

La latencia P95 (percentil 95 de latencia) es el tiempo de respuesta por debajo del cual el 95% de todas las requests se completan. Captura la experiencia de tus usuarios tipicos mas lentos, a diferencia del promedio que oculta outliers.

Por que la latencia P95 es mejor que el tiempo de respuesta promedio?

El tiempo de respuesta promedio es enganoso porque un pequeno numero de requests extremadamente rapidas o lentas puede sesgar el numero. La latencia P95 expone la latencia de cola que los promedios ocultan.

Cual es una buena latencia P95 para una REST API?

Para una REST API estandar, un buen target de latencia P95 es menos de 500ms. Las APIs internas de microservicios deberian apuntar a menos de 100ms P95. Los targets varian por caso de uso.

Como calculo la latencia P95?

Recopila todos los tiempos de respuesta, ordenalos de menor a mayor y encuentra el valor en el indice del percentil 95. En la practica, herramientas como Nurbak Watch y Prometheus lo calculan automaticamente.