A flexible command-line HTTP stress tester that can hit multiple targets with multiple configurations to simulate real-world load.
Pewpew is a flexible command-line HTTP stress tester designed to evaluate the performance and resilience of websites and web services. It can simulate real-world load by hitting multiple targets with different configurations, bypassing caches, and providing detailed statistics. The tool offers two modes: stress testing for maximum load capacity and benchmark testing for controlled rate-based analysis.
Developers, DevOps engineers, and performance testers who need to assess web service scalability, latency, and error handling under various load conditions.
Pewpew stands out for its ability to test multiple targets simultaneously with regex-generated URLs and extensive configuration options, all in a dependency-free binary. It provides realistic load simulation and detailed metrics, making it a versatile alternative to simpler stress testers.
Flexible HTTP command line stress tester for websites and web services
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple simultaneous targets with distinct configurations, enabling realistic load simulation and cache bypassing as highlighted in the philosophy.
Distributed as a single binary for Windows, Mac, Linux, and BSD, making installation and deployment straightforward without external libraries.
Offers extensive settings via command-line and config files (JSON/TOML), including headers, cookies, timeouts, SSL, and HTTP authentication for tailored tests.
Uses Perl-syntax regular expressions to generate varied target URLs, simulating diverse request patterns and avoiding static cache hits.
Provides both stress mode for overload capacity testing and benchmark mode for controlled rate analysis, covering different performance evaluation needs.
Utilizing regex-defined targets and complex config files requires familiarity with regular expressions and configuration management, which can be intimidating for casual users.
While it exports raw data as TSV or JSON, there's no integrated GUI or graphing tools, necessitating additional software for data analysis and reporting.
As a single binary, it may struggle with extremely high concurrency or distributed testing scenarios without manual orchestration, as noted in hints about 'too many open files' errors.
Focuses solely on HTTP/HTTPS with HTTP2 and IPv6, lacking support for other protocols like WebSocket or gRPC, which might be needed for modern web services.