HTTP load testing tool that sends concurrent requests to web applications and reports performance statistics
hey is a command-line HTTP load testing tool that generates concurrent requests against web applications and provides detailed performance statistics. It supports configurable concurrency levels, request counts, and duration-based testing, allowing users to simulate various load patterns against HTTP endpoints.
The tool includes comprehensive HTTP protocol support, including HTTP/2, custom headers, authentication, request bodies from files or command line, and proxy configuration. Users can specify HTTP methods (GET, POST, PUT, DELETE, HEAD, OPTIONS), set rate limits per worker, and configure timeouts. hey also supports basic authentication and can disable features like compression, keep-alive, and redirects for specific testing scenarios.
hey outputs performance metrics including response times, request rates, and error statistics. It can export results in CSV format for further analysis. The tool is particularly useful for developers, DevOps engineers, and performance testers who need to validate application performance under load or benchmark API endpoints before production deployment.
# via Homebrew
brew install hey