Repolode
hatoo

hatoo/oha

Generador de carga HTTP para línea de comandos, escrito en Rust e inspirado en rakyll/hey, con una interfaz de terminal en tiempo real.

Estrellas
10,629
Forks
306
Issues abiertos
59
Último commit
hace 3 días

¿Qué es?

oha es una herramienta de línea de comandos que envía carga HTTP a una aplicación web y muestra los resultados en una interfaz de terminal en tiempo real. Está basado en rakyll/hey y sus opciones siguen las convenciones de hey, con algunas diferencias, como la opción -q, que establece las consultas por segundo totales en lugar de las consultas por trabajador.

La herramienta admite HTTP/1.1, HTTP/2 (con flujos paralelos por conexión) y HTTP/3 experimental. Permite controlar la tasa de solicitudes, los patrones de ráfagas y la duración, así como generar URLs aleatorias a partir de una expresión regular o leer una lista de URLs desde un archivo. Incluye corrección de latencia para evitar el problema de omisión coordinada. Los resultados se pueden mostrar como texto sin formato, JSON, CSV o en modo silencioso; además, es posible guardar las solicitudes correctas en una base de datos SQLite.

Desarrollado con tokio y ratatui, oha también ofrece opciones de TLS (rustls o native-tls), certificados de cliente, firma AWS SigV4, proxies, sockets Unix y VSOCK. Hay binarios precompilados disponibles mediante Cargo, Homebrew, Arch Linux, winget y Docker.

Funciones clave

  • 01Interfaz de terminal en tiempo real que muestra el rendimiento y la latencia durante la prueba.
  • 02Admite HTTP/1.1, HTTP/2 y HTTP/3 experimental.
  • 03Limitación de la tasa por QPS, patrones de ráfagas y ejecuciones con duración definida.
  • 04Generación de URLs aleatorias a partir de expresiones regulares o lectura de listas de URLs desde un archivo.
  • 05Resultados en texto, JSON, CSV o modo silencioso, con un esquema JSON documentado.
  • 06Opción de corrección de latencia para evitar la omisión coordinada.
  • 07Opciones de TLS, certificados de cliente, proxies y firma AWS SigV4.

Casos de uso

  • Probar la carga de un servicio web antes de un lanzamiento para ver cómo se comporta con solicitudes concurrentes.
  • Comparar el rendimiento de HTTP/1.1 y HTTP/2 en un endpoint.
  • Reproducir URLs de un registro de acceso para generar una combinación de tráfico realista.
  • Ejecutar benchmarks rápidos en CI o mediante scripts con resultados en JSON o CSV.

Inicio rápido

  1. 1

    Instala oha con Cargo (requiere Rust, make y cmake).

    cargo install oha
  2. 2

    Ejecuta oha contra una URL de destino con las opciones de la sección Usage del README.

Antes de usarlo

  • Para compilar desde el código fuente con Cargo, make y cmake deben estar instalados.
  • La función HTTP/3 es experimental y depende de rustls para TLS.
  • El README solo enumera las plataformas probadas (Linux, Windows 10 y macOS); no especifica compatibilidad con otras.

En colecciones

Temas

Preguntas frecuentes

¿Qué es oha?
Generador de carga HTTP para línea de comandos, escrito en Rust e inspirado en rakyll/hey, con una interfaz de terminal en tiempo real. oha es una herramienta de línea de comandos que envía carga HTTP a una aplicación web y muestra los resultados en una interfaz de terminal en tiempo real. Está basado en rakyll/hey y sus opciones siguen las convenciones de hey, con algunas diferencias, como la opción -q, que establece las consultas por segundo totales en lugar de las consultas por trabajador.
¿oha es gratuito? ¿Qué licencia tiene?
oha es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿oha sigue mantenido?
Mantenimiento activo. El último commit de oha fue el 22 oct 2026.
¿Para qué puedo usar oha?
Probar la carga de un servicio web antes de un lanzamiento para ver cómo se comporta con solicitudes concurrentes. Comparar el rendimiento de HTTP/1.1 y HTTP/2 en un endpoint. Reproducir URLs de un registro de acceso para generar una combinación de tráfico realista. Ejecutar benchmarks rápidos en CI o mediante scripts con resultados en JSON o CSV.
¿Cómo se instala oha?
Instala oha con Cargo (requiere Rust, make y cmake).: cargo install oha Ejecuta oha contra una URL de destino con las opciones de la sección Usage del README.
¿Dónde consigo oha?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/hatoo/oha

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados