O tempo de resposta medio da sua API e 120ms. Parece rapido. Sua equipe esta feliz. Seu dashboard esta verde.
Mas 1 em cada 20 dos seus usuarios esta esperando mais de 2 segundos por cada request. Eles nao estao felizes. Estao saindo.
Este e o problema com as medias. Elas escondem as piores experiencias atras de um numero reconfortante. A latencia P95 corrige isso mostrando o que seus usuarios tipicos mais lentos realmente experimentam — e e a metrica de desempenho mais importante para qualquer API em producao.
O que e latencia P95?
Latencia P95 (percentil 95 de latencia) e o tempo de resposta abaixo do qual 95% de todas as requests se completam. Se seu P95 e 400ms, entao 95 de cada 100 requests terminam em 400ms ou menos.
Pense nisso como uma fila em uma cafeteria. A espera media pode ser 3 minutos. Mas se voce e a pessoa atras de alguem que pediu 12 bebidas personalizadas, voce espera 15 minutos. A media nao avisou. O P95 teria avisado.
P50 vs P95 vs P99: tabela comparativa
| Metrica | O que diz | Quem representa | Quando usar |
|---|---|---|---|
| Media | Media aritmetica de todos os tempos | Ninguem — e uma abstracao matematica | Visao geral; nunca para SLAs |
| P50 (mediana) | O tempo de resposta do meio | Seu usuario tipico | Entender o desempenho base |
| P95 | 95% das requests sao mais rapidas | Seus usuarios regulares mais lentos (1 em 20) | SLAs, alertas, orcamentos de desempenho |
| P99 | 99% das requests sao mais rapidas | Seus usuarios no pior caso (1 em 100) | Debugging de tail latency, rotas criticas |
Por que o tempo de resposta medio e enganoso
Imagine que sua API lida com 1.000 requests em uma janela de 5 minutos:
- 950 requests completam em 80-150ms
- 45 requests completam em 800-1.200ms
- 5 requests completam em 4.000-8.000ms
O tempo de resposta medio? Cerca de 200ms. Parece bom no dashboard.
O P95? Cerca de 1.100ms. Isso conta uma historia completamente diferente — 50 dos seus usuarios nessa janela de 5 minutos esperaram mais de um segundo.
Isso importa especialmente para o monitoramento de REST APIs, onde uma pequena porcentagem de endpoints lentos pode degradar toda a experiencia do usuario enquanto sua media parece saudavel.
Como calcular percentis
O calculo e direto: ordene todos os valores e escolha o que esta na posicao desejada. Aqui esta uma implementacao em 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)); // 2100msEm producao, ferramentas de monitoramento usam algoritmos como t-digest ou histogramas HDR para calcular percentis precisos sobre milhoes de pontos sem armazenar cada valor na memoria.
Como monitorar a latencia P95
1. Colete tempos de resposta por endpoint
O P95 global entre todos os endpoints e um ponto de partida, mas esconde endpoints lentos atras dos rapidos. Sempre desdobre o P95 por endpoint, por metodo e por status code.
2. Configure alertas sobre P95, nao medias
Configure alertas que disparem quando a latencia P95 exceder seu target por mais de 5 minutos. Um spike isolado e ruido. Um aumento sustentado de P95 significa que algo mudou.
3. Rastreie tendencias de P95 ao longo do tempo
Um P95 que sobe de 200ms para 300ms em duas semanas e mais dificil de notar que um spike repentino, mas e igualmente perigoso.
4. Compare P95 entre regioes
Usuarios em Sao Paulo podem ter um P95 muito diferente de usuarios em Frankfurt. O monitoramento multi-regiao expoe diferencas de desempenho geograficas. Para um detalhamento de como DNS, TLS e TTFB contribuem para diferencas de latencia regional, veja nosso guia sobre metricas de desempenho de REST API.
Targets de latencia P95 por tipo de API
| Tipo de API | Bom P95 | Aviso | Critico |
|---|---|---|---|
| Microsservico interno | < 100ms | 100-250ms | > 250ms |
| REST API (publica) | < 500ms | 500-1.000ms | > 1.000ms |
| GraphQL API | < 800ms | 800-1.500ms | > 1.500ms |
| Pagamento / checkout | < 300ms | 300-600ms | > 600ms |
| Busca / autocompletar | < 200ms | 200-400ms | > 400ms |
| Entrega de webhooks | < 1.000ms | 1.000-3.000ms | > 3.000ms |
| Upload / processamento de arquivos | < 2.000ms | 2.000-5.000ms | > 5.000ms |
| Real-time / WebSocket init | < 150ms | 150-300ms | > 300ms |
Causas comuns de latencia P95 alta
- Cold starts — Funcoes serverless (Lambda, Vercel Functions) levam 200-2.000ms para inicializar.
- Desempenho de queries de banco de dados — Um indice faltando em uma tabela que cresce fica progressivamente mais lento.
- Pausas de garbage collection — Em Node.js, Java ou Go, pausas de GC congelam o event loop.
- Esgotamento do pool de conexoes — Quando o pool esta cheio, as requests entram em fila.
- Lentidao de dependencias downstream — Se sua API chama um servico de terceiros que e lento 5% do tempo, seu P95 herda o P95 deles.
- Overhead de DNS e TLS — A primeira request a um host novo incorre em custos de DNS lookup e TLS handshake.
Comece a monitorar a latencia P95 hoje
Nurbak Watch mede a latencia P95 de 4 regioes globais automaticamente, junto com DNS, TLS, TTFB e tempo de resposta para cada endpoint monitorado. Sem agentes, sem configuracao complexa.
Comece a monitorar gratis e veja o que seus usuarios realmente experimentam.
Perguntas frequentes
O que e latencia P95?
Latencia P95 (percentil 95 de latencia) e o tempo de resposta abaixo do qual 95% de todas as requests se completam. Captura a experiencia dos seus usuarios tipicos mais lentos, ao contrario da media que esconde outliers.
Por que a latencia P95 e melhor que o tempo de resposta medio?
O tempo de resposta medio e enganoso porque um pequeno numero de requests extremamente rapidas ou lentas pode distorcer o numero. A latencia P95 expoe a latencia de cauda que as medias escondem.
Qual e uma boa latencia P95 para uma REST API?
Para uma REST API padrao, um bom target de latencia P95 e abaixo de 500ms. APIs internas de microsservicos devem mirar abaixo de 100ms P95. Os targets variam por caso de uso.
Como calculo a latencia P95?
Colete todos os tempos de resposta, ordene-os em ordem crescente e encontre o valor no indice do percentil 95. Na pratica, ferramentas como Nurbak Watch e Prometheus calculam isso automaticamente.

