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
| Metrica | Que te dice | A quien representa | Cuando usarla |
|---|---|---|---|
| Promedio | Media aritmetica de todos los tiempos | A nadie — es una abstraccion matematica | Vision general; nunca para SLAs |
| P50 (mediana) | El tiempo de respuesta del medio | Tu usuario tipico | Entender el rendimiento base |
| P95 | El 95% de requests son mas rapidas | Tus usuarios regulares mas lentos (1 de 20) | SLAs, alertas, presupuestos de rendimiento |
| P99 | El 99% de requests son mas rapidas | Tus 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)); // 2100msEn 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 API | Buen P95 | Advertencia | Critico |
|---|---|---|---|
| Microservicio interno | < 100ms | 100-250ms | > 250ms |
| REST API (publica) | < 500ms | 500-1,000ms | > 1,000ms |
| GraphQL API | < 800ms | 800-1,500ms | > 1,500ms |
| Pago / checkout | < 300ms | 300-600ms | > 600ms |
| Busqueda / autocompletado | < 200ms | 200-400ms | > 400ms |
| Entrega de webhooks | < 1,000ms | 1,000-3,000ms | > 3,000ms |
| Carga / procesamiento de archivos | < 2,000ms | 2,000-5,000ms | > 5,000ms |
| Real-time / WebSocket init | < 150ms | 150-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.

