Fundamentos8 min

Tempo de Resposta: Média vs Percentis

Por que a média de tempo de resposta mente sobre a experiência real dos seus usuários — e como percentis revelam a verdade.

Imagine que você está analisando o tempo de resposta de uma API crítica no seu sistema. O dashboard mostra uma média de 200ms. Parece ótimo, certo? Seus SLAs provavelmente exigem algo em torno de 500ms, então você está confortavelmente dentro das expectativas.

Mas aqui está o problema: a média está mentindo para você.

O problema com médias

A média aritmética é uma das métricas mais intuitivas que conhecemos. Somamos todos os valores e dividimos pela contagem. Simples, familiar e profundamente enganosa quando aplicada a tempos de resposta.

Considere este cenário real: você tem 100 requisições por segundo. 95 delas respondem em 100ms. Mas 5 delas levam 2 segundos cada. Qual é a média?

(95 × 100ms + 5 × 2000ms) / 100 = 195ms

A média diz 195ms. Mas 5% dos seus usuários estão esperando 10 vezes mais do que os outros. Se você tem 1 milhão de requisições por dia, são 50.000 usuários com uma experiência terrível — e a média não conta essa história.

A média é uma mentira estatística que esconde os usuários que mais sofrem.

O que são percentis

Um percentil representa o valor abaixo do qual uma determinada porcentagem de observações cai. Em outras palavras:

  • P50 (mediana): 50% das requisições são mais rápidas que este valor
  • P90: 90% das requisições são mais rápidas
  • P95: 95% das requisições são mais rápidas
  • P99: 99% das requisições são mais rápidas

Voltando ao nosso exemplo: o P95 seria aproximadamente 100ms (porque 95% das requisições estão nessa faixa), mas o P99 seria próximo de 2000ms. Essa diferença brutal entre P95 e P99 é exatamente o que a média esconde.

Por que P95 e P99 importam

Há uma razão pela qual empresas como Amazon, Google e Netflix monitoram obsessivamente P99 e até P99.9: esses são os usuários que mais importam para o negócio.

Pense nisso: quem são os usuários que mais frequentemente caem no P99?

  • Usuários com carrinhos grandes (mais dados para processar)
  • Usuários durante momentos de pico (mais concorrência)
  • Usuários frequentes (mais histórico, mais complexidade)
  • Usuários em dispositivos ou conexões lentas (timeouts parciais)

Em outras palavras: frequentemente seus melhores clientes, nos momentos mais críticos, têm a pior experiência. E a média não mostra isso.

A Lei da Cauda Longa

Sistemas distribuídos têm uma característica peculiar: quanto mais serviços uma requisição atravessa, maior a probabilidade de cair na cauda longa de latência.

Se uma requisição precisa consultar 5 serviços em paralelo, e cada serviço tem 1% de chance de responder lentamente, a requisição completa tem aproximadamente 5% de chance de ser lenta. Se são 10 serviços, 10%. A matemática trabalha contra você.

Isso significa que em arquiteturas de microsserviços, o P99 é ainda mais crítico do que em monolitos. E é exatamente nessas arquiteturas que a média se torna mais enganosa.

Como interpretar percentis

Aqui está um guia prático para interpretar seus percentis:

P50 vs P99: A proporção

Uma regra útil: se seu P99 é mais de 5x maior que seu P50, você tem um problema de consistência. O sistema funciona bem na maior parte do tempo, mas tem falhas significativas em casos específicos.

Estabilidade sob carga

Em sistemas saudáveis, percentis devem permanecer relativamente estáveis conforme a carga aumenta. Se seu P99 dispara enquanto P50 permanece estável, você tem um gargalo que afeta apenas algumas requisições — provavelmente contenção de recursos ou limites de pool.

Degradação gradual vs colapso

Observe como os percentis se comportam próximo à capacidade máxima. Um aumento gradual indica degradação controlada. Um salto abrupto indica um ponto de inflexão — você encontrou um limite do sistema.

Definindo SLAs com percentis

Se você ainda define SLAs baseados em médias, está assumindo riscos desnecessários. Uma abordagem mais robusta:

  • P50 < 200ms: Experiência típica aceitável
  • P95 < 500ms: Maioria dos usuários satisfeitos
  • P99 < 1s: Casos extremos ainda toleráveis
  • P99.9 < 2s: Ninguém abandona por timeout

Note que os valores específicos dependem do seu contexto. O que importa é ter metas para múltiplos percentis, não apenas para a média ou um único ponto.

Na prática: O que monitorar

Para cada endpoint ou serviço crítico, você deveria estar coletando e visualizando:

  1. P50, P95, P99 em tempo real (últimos 5-15 minutos)
  2. Tendência histórica desses percentis (últimos 7-30 dias)
  3. Comparação entre períodos de baixa e alta carga
  4. Alertas baseados em desvios de percentis, não da média

Se seu sistema de monitoramento só oferece médias, você está voando cego. Investir em observabilidade que suporte percentis é um dos melhores retornos sobre investimento em infraestrutura.

Conclusão

Da próxima vez que alguém disser "nosso tempo de resposta médio é X", faça a pergunta que realmente importa: "E o P99?"

A diferença entre um sistema que "funciona bem na média" e um sistema que "funciona bem para todos os usuários" está nos percentis. E essa diferença é frequentemente a diferença entre um produto que usuários toleram e um produto que usuários amam.

Você não quer saber como seu sistema performa na média. Você quer saber como ele performa quando mais importa.

percentillatênciaP99SLAmonitoramento
Compartilhar:
Read in English

Quer entender os limites da sua plataforma?

Entre em contato para uma avaliação de performance.

Fale Conosco