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.
tsenart/vegeta
Herramienta de línea de comandos y biblioteca Go para pruebas de carga HTTP que envía solicitudes a una tasa constante y muestra estadísticas de latencia.
Alternativa open source a:Apache JMeter
- Estrellas
- 25,225
- Forks
- 1,428
- Issues abiertos
- 125
- Último commit
- el mes pasado
¿Qué es?
Vegeta es una herramienta de pruebas de carga HTTP diseñada para enviar solicitudes a servicios HTTP a una tasa constante. Puede ejecutarse como programa de línea de comandos, con comandos independientes para attack, encode, report y plot que se pueden encadenar mediante pipes de UNIX, o importarse como biblioteca Go para ejecutar pruebas de carga desde el código.
Los objetivos se pueden proporcionar como una lista de texto sin formato con el formato de los mensajes HTTP o como un flujo de objetos JSON generado por otro programa, lo que permite crear solicitudes dinámicamente. El comando attack controla la tasa, la duración, la cantidad de workers, los tiempos de espera, los certificados TLS, HTTP/2, keep-alive, los límites de conexiones y los resolvers DNS personalizados. Los resultados se pueden resumir como texto o JSON, agrupar en histogramas, exportar como datos de HDR histogram o mostrar en un gráfico interactivo de latencia en HTML.
Vegeta también ofrece un exporter de Prometheus durante un ataque y admite ejecuciones distribuidas: divide la tasa objetivo entre varias máquinas y combina sus archivos de resultados.
Funciones clave
- 01Ataques HTTP a tasa constante, ejecutables desde la línea de comandos o mediante una biblioteca Go.
- 02Acepta objetivos como una lista de texto o un flujo JSON, incluidos datos generados de forma diferida.
- 03Informes de latencia con percentiles, histogramas de códigos de estado y conjuntos de errores.
- 04Formatos de salida de texto, JSON, histogramas y HDR histogram.
- 05Gráfico interactivo en HTML de la latencia de las solicitudes a lo largo del tiempo.
- 06Exporter de Prometheus integrado durante los ataques.
- 07Admite HTTP/2, certificados de cliente TLS, encabezados personalizados y resolvers DNS.
Casos de uso
- Medir cómo responde la latencia de un endpoint de API bajo una tasa fija de solicitudes.
- Ejecutar pruebas de carga distribuidas al dividir una tasa objetivo entre varias máquinas.
- Enviar solicitudes generadas dinámicamente a un servicio desde un script o una canalización de datos.
- Supervisar métricas de los ataques en Grafana mediante el exporter de Prometheus.
Inicio rápido
- 1
Instalar en macOS con Homebrew
brew update && brew install vegeta - 2
Instalar en Arch Linux con pacman
pacman -S vegeta - 3
Ejecutar una prueba: enviar solicitudes GET a 50 por segundo durante 5 segundos e imprimir un informe
echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report
Antes de usarlo
- Para otras plataformas, los scripts de instalación y los binarios solo aparecen en la página de versiones, por lo que la configuración depende del sistema operativo.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es vegeta?
- Herramienta de línea de comandos y biblioteca Go para pruebas de carga HTTP que envía solicitudes a una tasa constante y muestra estadísticas de latencia. Vegeta es una herramienta de pruebas de carga HTTP diseñada para enviar solicitudes a servicios HTTP a una tasa constante. Puede ejecutarse como programa de línea de comandos, con comandos independientes para attack, encode, report y plot que se pueden encadenar mediante pipes de UNIX, o importarse como biblioteca Go para ejecutar pruebas de carga desde el código.
- ¿vegeta es gratuito? ¿Qué licencia tiene?
- vegeta es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿vegeta sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de vegeta fue el 24 sept 2026.
- ¿Para qué puedo usar vegeta?
- Medir cómo responde la latencia de un endpoint de API bajo una tasa fija de solicitudes. Ejecutar pruebas de carga distribuidas al dividir una tasa objetivo entre varias máquinas. Enviar solicitudes generadas dinámicamente a un servicio desde un script o una canalización de datos. Supervisar métricas de los ataques en Grafana mediante el exporter de Prometheus.
- ¿Cómo se instala vegeta?
- Instalar en macOS con Homebrew: brew update && brew install vegeta Instalar en Arch Linux con pacman: pacman -S vegeta Ejecutar una prueba: enviar solicitudes GET a 50 por segundo durante 5 segundos e imprimir un informe: echo "GET http://localhost/" | vegeta attack -duration=5s | tee results.bin | vegeta report
- ¿Dónde consigo vegeta?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tsenart/vegeta
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Aplicación Java de código abierto para hacer pruebas de carga y medir el rendimiento de aplicaciones web y otros servicios.
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.
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.
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.
Generador de tráfico de red y herramienta de pruebas de carga basados en DPDK para evaluar balanceadores de carga L4, gateways y servidores.