Skip to content
Latchkey

O que é teste de carga?

O teste de carga mede como um sistema se comporta sob um nível esperado de tráfego concorrente, verificando se ele permanece rápido e estável.

Os testes funcionais provam que um sistema funciona para um usuário. O teste de carga prova que ele funciona para muitos ao mesmo tempo. Ele simula tráfego concorrente realista e, em seguida, observa tempos de resposta, throughput e taxas de erro para confirmar que o sistema aguenta a carga que deve suportar. É o primeiro passo na validação de desempenho.

O que o teste de carga mede

Um teste de carga aumenta o número de usuários virtuais até um nível esperado e registra como o sistema responde: percentis de latência, requisições por segundo, taxa de erro e uso de recursos. O objetivo é confirmar que o sistema atende às suas metas de desempenho sob a demanda normal e prevista.

Carga versus estresse versus soak

  • Teste de carga: tráfego esperado, confirmar que as metas são atingidas.
  • Teste de estresse: empurrar além dos limites para encontrar o ponto de ruptura.
  • Teste soak: carga sustentada por horas para encontrar vazamentos.
  • Teste de pico: surto repentino de tráfego para testar a elasticidade.

Um exemplo de ferramenta

Ferramentas como o k6 descrevem um perfil de usuário virtual em código, aumentando e reduzindo a concorrência enquanto coletam métricas.

A k6 load profile
export const options = {
  stages: [
    { duration: "1m", target: 100 }, // ramp to 100 users
    { duration: "3m", target: 100 }, // hold
  ],
};

Lendo os resultados

As médias de destaque escondem problemas, então foque em percentis como a latência p95 e p99 e na taxa de erro à medida que a carga sobe. Um sistema que é rápido na mediana, mas lento na cauda, ainda vai frustrar uma parcela significativa dos usuários.

Teste de carga no CI

Testes de carga mais leves podem rodar no pipeline para pegar regressões de desempenho, enquanto os mais pesados rodam em um cronograma contra um ambiente de staging. De qualquer forma, eles precisam de computação adequada e consistente para gerar tráfego; executá-los em runners rápidos e dedicados mantém os resultados comparáveis de execução para execução.

Principais conclusões

  • O teste de carga verifica o comportamento sob o tráfego concorrente esperado.
  • Foque em percentis de latência de cauda e na taxa de erro, não em médias.
  • Testes de carga leves podem rodar no CI para pegar regressões de desempenho.

Guias relacionados