CLI de pruebas de carga HTTP(S) escrito en Go, con vista en tiempo real en la terminal y gráficos web, que usa fasthttp para enviar solicitudes.
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
Instala oha con Cargo (requiere Rust, make y cmake).
cargo install oha - 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
Herramienta open source de pruebas de carga que permite definir pruebas para HTTP y otros protocolos con código Python convencional y una interfaz web.
Herramienta multiplataforma de línea de comandos para pruebas de rendimiento y carga de HTTP(S), escrita en Go y basada en fasthttp para procesar muchas solicitudes.
Una herramienta de línea de comandos para comparar el rendimiento de comandos con análisis estadístico, ejecuciones de calentamiento y exportación a CSV, JSON, Markdown y AsciiDoc.
Aplicación Java de código abierto para hacer pruebas de carga y medir el rendimiento de aplicaciones web y otros servicios.
Una lista seleccionada de herramientas para benchmarking de HTTP(S), pruebas de carga, depuración y clientes de API REST, con notas breves sobre cada una.