Pular para o conteúdo
SDETRole
SDETRole

Glossário · Performance

Latência por percentil

Em inglês: Percentile latency

Também chamado de: p50, p90, p95, p99

Definição

Medida de tempo de resposta, como p95 ou p99, que mostra em quanto tempo essa fração das requisições terminou e revela a cauda lenta que as médias escondem.

A latência por percentil descreve os tempos de resposta pela posição no ranking, e não pela média. O p95 é o valor igual ou abaixo do qual ficaram 95% das requisições; só os 5% mais lentos demoraram mais. O p50 é a mediana, a experiência típica. O p99 e o p99.9 descrevem a cauda: as requisições mais lentas, que costumam ser as que os usuários percebem e das quais reclamam.

Por que percentis são melhores que médias

Pegue 100 requisições: 90 levam 100 ms e 10 levam 2.000 ms.

Estatística Valor
Média 290 ms
p50 (mediana) 100 ms
p95 2.000 ms
p99 2.000 ms

A média de 290 ms não descreve nenhuma requisição que realmente aconteceu. Ela parece aceitável, mas um em cada dez usuários esperou dois segundos. Os percentis mostram os dois fatos: a maioria das requisições é rápida, e a cauda é muito lenta. Além disso, a média é puxada por poucos outliers extremos, enquanto a mediana não é.

A cauda importa mais do que parece. Um único carregamento de página costuma fazer várias chamadas ao backend, e uma sessão de usuário envolve muitos carregamentos de página, então uma boa parcela dos usuários vai topar com pelo menos uma requisição no nível do p99 durante a visita.

Usando percentis nos testes

Metas e gates de performance devem ser escritos em percentis. No k6:

export const options = {
  thresholds: {
    http_req_duration: ['p(50)<200', 'p(95)<500', 'p(99)<1500'],
  },
};

Reporte vários percentis juntos (p50, p95, p99, máximo), ao lado do throughput e da taxa de erros, porque cada um conta uma parte diferente da história.

Erros comuns

  • Tirar a média de percentis. A média do p95 de dez servidores não é o p95 geral. Os percentis precisam ser calculados a partir dos dados brutos combinados ou de histogramas que possam ser mesclados.
  • Amostras de menos. Um p99 calculado sobre 200 requisições se apoia em dois pontos de dados. Rode por tempo suficiente para ter contagens significativas na cauda.
  • Ignorar os erros. Uma requisição que falha rápido, em 5 ms, pode fazer a latência parecer melhor. Leia sempre a latência ao lado da taxa de erros.
  • Coordinated omission. Uma ferramenta de carga que espera cada resposta lenta antes de enviar a próxima requisição acaba enviando menos requisições justamente durante as lentidões, o que subestima a latência de cauda. Gerar carga por taxa de chegada (modelo aberto) reduz esse problema.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →