Repolode
tsenart

tsenart/vegeta

Ferramenta de linha de comando e biblioteca Go para testes de carga HTTP, que envia requisições a uma taxa constante e informa estatísticas de latência.

Alternativa open source a:Apache JMeter

Estrelas
25,225
Forks
1,428
Issues abertas
125
Último commit
mês passado

O que é?

Vegeta é uma ferramenta de teste de carga HTTP criada para enviar requisições a serviços HTTP em uma taxa constante. Pode ser usada como um programa de linha de comando, com os comandos attack, encode, report e plot separados e encadeáveis por pipes UNIX, ou importada como biblioteca Go para executar testes de carga por código.

Os alvos podem ser fornecidos como uma lista de texto simples no formato de mensagens HTTP ou como um fluxo de objetos JSON gerado por outro programa, permitindo criar requisições dinamicamente. O comando attack controla a taxa, a duração, a quantidade de workers, os timeouts, os certificados TLS, HTTP/2, keep-alive, os limites de conexões e os resolvedores DNS personalizados. Os resultados podem ser resumidos em texto ou JSON, agrupados em histogramas, exportados como dados de histograma HDR ou exibidos em um gráfico HTML interativo de latência.

Vegeta também disponibiliza um exporter Prometheus durante um ataque e aceita execuções distribuídas, dividindo a taxa de alvos entre várias máquinas e combinando os arquivos de resultados.

Recursos principais

  • 01Ataques HTTP com taxa constante, executáveis pela linha de comando ou por uma biblioteca Go.
  • 02Alvos aceitos como lista de texto ou fluxo JSON, inclusive com entrada gerada sob demanda.
  • 03Relatórios de latência com percentis, histogramas de códigos de status e conjuntos de erros.
  • 04Formatos de saída em texto, JSON, histograma e histograma HDR.
  • 05Gráfico HTML interativo da latência das requisições ao longo do tempo.
  • 06Exporter Prometheus integrado durante os ataques.
  • 07Suporte a HTTP/2, certificados de cliente TLS, cabeçalhos personalizados e resolvedores DNS.

Casos de uso

  • Medir o comportamento da latência de um endpoint de API sob uma taxa fixa de requisições.
  • Executar testes de carga distribuídos, dividindo a taxa de alvos entre várias máquinas.
  • Enviar requisições geradas dinamicamente a um serviço a partir de um script ou pipeline de dados.
  • Monitorar métricas do ataque no Grafana por meio do exporter Prometheus.

Início rápido

  1. 1

    Instalar no macOS com Homebrew

    brew update && brew install vegeta
  2. 2

    Instalar no Arch Linux com pacman

    pacman -S vegeta
  3. 3

    Executar um teste: enviar solicitações GET a 50 por segundo durante 5 segundos e imprimir um relatório

    echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report

Antes de usar

  • Para outras plataformas, os scripts de instalação e os binários estão listados apenas na página de versões, então a configuração depende do sistema operacional.

Em coleções

Tópicos

Perguntas frequentes

O que é vegeta?
Ferramenta de linha de comando e biblioteca Go para testes de carga HTTP, que envia requisições a uma taxa constante e informa estatísticas de latência. Vegeta é uma ferramenta de teste de carga HTTP criada para enviar requisições a serviços HTTP em uma taxa constante. Pode ser usada como um programa de linha de comando, com os comandos attack, encode, report e plot separados e encadeáveis por pipes UNIX, ou importada como biblioteca Go para executar testes de carga por código.
vegeta é gratuito? Qual é a licença?
vegeta é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
vegeta ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de vegeta foi em 24 de set. de 2026.
Para que posso usar vegeta?
Medir o comportamento da latência de um endpoint de API sob uma taxa fixa de requisições. Executar testes de carga distribuídos, dividindo a taxa de alvos entre várias máquinas. Enviar requisições geradas dinamicamente a um serviço a partir de um script ou pipeline de dados. Monitorar métricas do ataque no Grafana por meio do exporter Prometheus.
Como instalar vegeta?
Instalar no macOS com Homebrew: brew update && brew install vegeta Instalar no Arch Linux com pacman: pacman -S vegeta Executar um teste: enviar solicitações GET a 50 por segundo durante 5 segundos e imprimir um relatório: echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report
Onde consigo vegeta?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tsenart/vegeta

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados