Aplicativo Java de código aberto para testar carga e medir o desempenho de aplicações web e outros serviços.
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
Instale com Go 1.18 ou superior usando go install
go install github.com/codesenberg/bombardier@latest - 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
CLI de teste de carga HTTP(S) escrito em Go, com visualização em tempo real no terminal e gráficos na web, usando fasthttp para as requisições.
Monitor de terminal no estilo top que exibe programas eBPF em execução, tempo de execução, eventos por segundo e uso estimado de CPU.
Framework web HTTP de alto desempenho para Go, com uma API semelhante à do Martini, feito para REST APIs, aplicações web e microsserviços.
Uma alternativa ao Gerenciador de Tarefas para Windows e Linux que mostra detalhes de cada processo, como threads, memória, handles, sockets e módulos.
Gerenciador de downloads para terminal, controlado pelo teclado e feito em Go, que divide arquivos em partes paralelas e pode baixar de vários mirrors.