Repolode
hatoo

hatoo/oha

Gerador de carga HTTP para linha de comando, escrito em Rust e inspirado no rakyll/hey, com interface de terminal em tempo real.

Estrelas
10,629
Forks
306
Issues abertas
59
Último commit
há 3 dias

O que é?

oha é uma ferramenta de linha de comando que envia carga HTTP para uma aplicação web e exibe os resultados em uma interface de terminal em tempo real. Ela se baseia no rakyll/hey, e suas opções seguem as convenções do hey, com algumas diferenças — por exemplo, a flag -q define o total de consultas por segundo, em vez da quantidade por worker.

oha oferece suporte a HTTP/1.1, HTTP/2 (com streams paralelos por conexão) e HTTP/3 experimental. É possível controlar a taxa de requisições, os padrões de rajada e a duração, além de gerar URLs aleatórias a partir de uma regex ou ler uma lista de URLs de um arquivo. Há uma opção de correção de latência para evitar o problema de coordinated omission. A saída pode ser em texto simples, JSON, CSV ou modo silencioso, e as requisições bem-sucedidas podem ser gravadas em um banco de dados SQLite.

Criada com tokio e ratatui, oha também oferece opções de TLS (rustls ou native-tls), certificados de cliente, assinatura AWS SigV4, proxies, sockets Unix e VSOCK. Há binários pré-compilados disponíveis via Cargo, Homebrew, Arch Linux, winget e Docker.

Recursos principais

  • 01Interface de terminal em tempo real que mostra vazão e latência durante o teste.
  • 02Suporte a HTTP/1.1, HTTP/2 e HTTP/3 experimental.
  • 03Limitação de taxa por QPS, padrões de rajada e execuções com duração definida.
  • 04Geração de URLs aleatórias a partir de regex ou leitura de listas de URLs de um arquivo.
  • 05Saída em texto, JSON, CSV ou modo silencioso, com um schema JSON documentado.
  • 06Opção de correção de latência para evitar coordinated omission.
  • 07Opções de TLS, certificados de cliente, proxies e assinatura AWS SigV4.

Casos de uso

  • Testar a carga de um serviço web antes de um lançamento e observar seu comportamento sob concorrência.
  • Comparar o desempenho de HTTP/1.1 e HTTP/2 em um endpoint.
  • Reproduzir URLs de um access log para gerar uma combinação realista de tráfego.
  • Executar benchmarks rápidos em CI ou scripts com saída em JSON ou CSV.

Início rápido

  1. 1

    Instale oha com Cargo (requer Rust, make e cmake).

    cargo install oha
  2. 2

    Execute oha em uma URL de destino usando as opções da seção Usage do README.

Antes de usar

  • Para compilar a partir do código-fonte com Cargo, é necessário ter make e cmake instalados.
  • O recurso HTTP/3 é experimental e depende do rustls para TLS.
  • O README lista apenas as plataformas testadas (Linux, Windows 10 e macOS), sem especificar suporte mais amplo.

Em coleções

Tópicos

Perguntas frequentes

O que é oha?
Gerador de carga HTTP para linha de comando, escrito em Rust e inspirado no rakyll/hey, com interface de terminal em tempo real. oha é uma ferramenta de linha de comando que envia carga HTTP para uma aplicação web e exibe os resultados em uma interface de terminal em tempo real. Ela se baseia no rakyll/hey, e suas opções seguem as convenções do hey, com algumas diferenças — por exemplo, a flag -q define o total de consultas por segundo, em vez da quantidade por worker.
oha é gratuito? Qual é a licença?
oha é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
oha ainda é mantido?
Manutenção ativa. O último commit de oha foi em 22 de out. de 2026.
Para que posso usar oha?
Testar a carga de um serviço web antes de um lançamento e observar seu comportamento sob concorrência. Comparar o desempenho de HTTP/1.1 e HTTP/2 em um endpoint. Reproduzir URLs de um access log para gerar uma combinação realista de tráfego. Executar benchmarks rápidos em CI ou scripts com saída em JSON ou CSV.
Como instalar oha?
Instale oha com Cargo (requer Rust, make e cmake).: cargo install oha Execute oha em uma URL de destino usando as opções da seção Usage do README.
Onde consigo oha?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/hatoo/oha

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

Projetos relacionados