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

MetricaO que dizQuem representaQuando usar
MediaMedia aritmetica de todos os temposNinguem — e uma abstracao matematicaVisao geral; nunca para SLAs
P50 (mediana)O tempo de resposta do meioSeu usuario tipicoEntender o desempenho base
P9595% das requests sao mais rapidasSeus usuarios regulares mais lentos (1 em 20)SLAs, alertas, orcamentos de desempenho
P9999% das requests sao mais rapidasSeus 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));   // 2100ms

Em 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 APIBom P95AvisoCritico
Microsservico interno< 100ms100-250ms> 250ms
REST API (publica)< 500ms500-1.000ms> 1.000ms
GraphQL API< 800ms800-1.500ms> 1.500ms
Pagamento / checkout< 300ms300-600ms> 600ms
Busca / autocompletar< 200ms200-400ms> 400ms
Entrega de webhooks< 1.000ms1.000-3.000ms> 3.000ms
Upload / processamento de arquivos< 2.000ms2.000-5.000ms> 5.000ms
Real-time / WebSocket init< 150ms150-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.