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.
six-ddc/plow
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.
- Estrellas
- 4,515
- Forks
- 154
- Issues abiertos
- 20
- Último commit
- hace 5 días
¿Qué es?
Plow es una herramienta de línea de comandos para evaluar el rendimiento de HTTP(S), escrita en Go. Envía solicitudes con un número determinado de conexiones simultáneas y registra estadísticas de latencia, histogramas y percentiles mientras se ejecuta la prueba, mostrándolos en la terminal y en una página web en tiempo real. La prueba puede ejecutarse durante un tiempo fijo, hasta alcanzar un número determinado de solicitudes o hasta interrumpirla con Ctrl-C.
Plow usa la biblioteca cliente fasthttp en lugar del paquete estándar net/http de Go. Sus algoritmos de streaming para histogramas y cuantiles están diseñados para mantener bajo el consumo de memoria y CPU durante las pruebas. El trazado opcional desglosa el tiempo de las solicitudes en las fases de DNS, conexión, TLS, escritura, espera y lectura.
Las solicitudes se pueden personalizar con métodos, encabezados, cuerpos (también desde archivos y, opcionalmente, mediante streaming) y certificados TLS de cliente. La herramienta también admite limitación de tasa, aumento gradual de carga, proxies SOCKS5 y HTTP, sockets de dominio Unix y salida JSON.
Funciones clave
- 01Estadísticas de latencia, histogramas y percentiles en tiempo real, en la terminal y en una interfaz web.
- 02Modos de prueba con concurrencia fija, número fijo de solicitudes o duración fija.
- 03Trazado de latencia por fase para DNS, conexión, TLS, escritura, TTFB y lectura.
- 04Métodos y encabezados personalizados, cuerpos de solicitud desde archivos y certificados TLS de cliente.
- 05Limitación de tasa, aumento gradual de carga, compatibilidad con proxies SOCKS5 y HTTP, y salida JSON.
Casos de uso
- Probar la carga de una API HTTP o un servicio web antes de una versión.
- Comparar la latencia de respuesta entre distintos endpoints o configuraciones de servidor.
- Diagnosticar qué fase de la solicitud (DNS, conexión o TTFB) contribuye más a las respuestas lentas.
Inicio rápido
- 1
Instala plow con Go
go install github.com/six-ddc/plow@latest - 2
Ejecuta una prueba de carga en una URL con 20 conexiones
plow http://127.0.0.1:8080/ -c 20 -n 10000 -d 10s
Antes de usarlo
- Solo admite pruebas de carga HTTP(S), no de otros protocolos.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es plow?
- 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. Plow es una herramienta de línea de comandos para evaluar el rendimiento de HTTP(S), escrita en Go. Envía solicitudes con un número determinado de conexiones simultáneas y registra estadísticas de latencia, histogramas y percentiles mientras se ejecuta la prueba, mostrándolos en la terminal y en una página web en tiempo real. La prueba puede ejecutarse durante un tiempo fijo, hasta alcanzar un número determinado de solicitudes o hasta interrumpirla con Ctrl-C.
- ¿plow es gratuito? ¿Qué licencia tiene?
- plow es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿plow sigue mantenido?
- Mantenimiento activo. El último commit de plow fue el 17 oct 2026.
- ¿Para qué puedo usar plow?
- Probar la carga de una API HTTP o un servicio web antes de una versión. Comparar la latencia de respuesta entre distintos endpoints o configuraciones de servidor. Diagnosticar qué fase de la solicitud (DNS, conexión o TTFB) contribuye más a las respuestas lentas.
- ¿Cómo se instala plow?
- Instala plow con Go: go install github.com/six-ddc/plow@latest Ejecuta una prueba de carga en una URL con 20 conexiones: plow http://127.0.0.1:8080/ -c 20 -n 10000 -d 10s
- ¿Dónde consigo plow?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/six-ddc/plow
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.
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.
Una biblioteca de benchmarking para JavaScript sencilla, pequeña y sin dependencias, que funciona en varios runtimes de JavaScript.
Framework personalizable para evaluar LLM, VLM y modelos AIGC con benchmarks, además de pruebas de estrés del rendimiento de inferencia y paneles de resultados.
Un framework HTTP de alto rendimiento para Go con una API similar a Martini, diseñado para REST APIs, aplicaciones web y microservicios.