Repolode
codesenberg

codesenberg/bombardier

Ferramenta multiplataforma de linha de comando para benchmark e teste de carga HTTP(S), escrita em Go e baseada em fasthttp para processar muitas requisições.

Estrelas
6,843
Forks
332
Issues abertas
30
Último commit
há 13 dias

O que é?

bombardier é uma ferramenta de linha de comando para testes de carga em serviços HTTP e HTTPS. Você informa uma URL, o número de conexões simultâneas e uma quantidade de requisições ou uma duração; então, a ferramenta apresenta requisições por segundo, estatísticas de latência, contagem de códigos de status HTTP, erros e throughput.

Por padrão, ela usa o cliente fasthttp em vez da biblioteca padrão net/http do Go para obter mais velocidade. Desde a v1.1, é possível alternar para o cliente net/http usando flags, o que é útil para testar serviços HTTP/2.x ou quando você precisa de um cliente mais compatível com as RFCs. O projeto oferece binários pré-compilados para Linux, macOS e Windows e também pode ser instalado com go install.

Uma limitação conhecida é que definir corretamente o cabeçalho Host não funciona com fasthttp; o modo net/http (--http1 ou --http2) é a solução alternativa documentada.

Recursos principais

  • 01Testa a carga de endpoints HTTP e HTTPS com conexões simultâneas configuráveis.
  • 02Executa uma quantidade fixa de requisições ou por uma duração determinada.
  • 03Apresenta requisições por segundo, latência, distribuição dos códigos de status e throughput.
  • 04Oferece o cliente fasthttp por padrão e um cliente net/http para testes de HTTP/2.x.
  • 05Disponibiliza binários pré-compilados para Linux, macOS e Windows.

Casos de uso

  • Medir quantas requisições por segundo um serviço web ou uma API consegue processar.
  • Verificar a distribuição da latência e as taxas de erro sob carga simultânea.
  • Comparar o desempenho de um servidor antes e depois de uma alteração.

Início rápido

  1. 1

    Instale com Go 1.18 ou superior usando go install

    go install github.com/codesenberg/bombardier@latest
  2. 2

    Execute um benchmark contra uma URL com 125 conexões e 10 milhões de requisições

    bombardier -c 125 -n 10000000 http://localhost:8080

Antes de usar

  • O cliente fasthttp padrão não consegue passar o cabeçalho Host corretamente; por isso, use as opções --http1 ou --http2 (net/http) como alternativa.

Em coleções

Tópicos

Perguntas frequentes

O que é bombardier?
Ferramenta multiplataforma de linha de comando para benchmark e teste de carga HTTP(S), escrita em Go e baseada em fasthttp para processar muitas requisições. bombardier é uma ferramenta de linha de comando para testes de carga em serviços HTTP e HTTPS. Você informa uma URL, o número de conexões simultâneas e uma quantidade de requisições ou uma duração; então, a ferramenta apresenta requisições por segundo, estatísticas de latência, contagem de códigos de status HTTP, erros e throughput.
bombardier é gratuito? Qual é a licença?
bombardier é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
bombardier ainda é mantido?
Manutenção ativa. O último commit de bombardier foi em 10 de out. de 2026.
Para que posso usar bombardier?
Medir quantas requisições por segundo um serviço web ou uma API consegue processar. Verificar a distribuição da latência e as taxas de erro sob carga simultânea. Comparar o desempenho de um servidor antes e depois de uma alteração.
Como instalar bombardier?
Instale com Go 1.18 ou superior usando go install: go install github.com/codesenberg/bombardier@latest Execute um benchmark contra uma URL com 125 conexões e 10 milhões de requisições: bombardier -c 125 -n 10000000 http://localhost:8080
Onde consigo bombardier?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/codesenberg/bombardier

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

Projetos relacionados