Plow is an HTTP benchmarking tool that provides real-time performance metrics through both a web UI and terminal display.
Plow addresses the need to measure HTTP server performance under load with minimal overhead. It runs concurrent requests against a target URL and records execution time statistics, histograms, and percentiles in real time. The tool uses fasthttp instead of Go's standard net/http library to achieve higher throughput. It implements stream-based algorithms for computing histograms and quantiles, inspired by Prometheus, which keeps memory and CPU overhead low enough that the benchmarking process itself does not significantly impact the results being measured.
Plow suits developers and operators who need to quickly assess HTTP endpoint performance during development or in production environments. It works well for both short-duration tests and longer-running load scenarios, supporting execution modes based on connection count, request count, or time duration. The tool can be run via command line with options to specify concurrency level and test duration, and results are viewable both in the terminal and through a web interface. Binary distributions are available through multiple installation methods including Homebrew and Docker.
The project shows consistent maintenance with regular updates to address issues and incorporate improvements. Development activity demonstrates responsiveness to user feedback and bug reports. The codebase receives ongoing refinement to maintain performance characteristics and reliability.