Repolode
tsenart

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. 1

    Instalar en macOS con Homebrew

    brew update && brew install vegeta
  2. 2

    Instalar en Arch Linux con pacman

    pacman -S vegeta
  3. 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