Ad

wrk2: Accurate HTTP load testing with constant throughput.

wrk2 is a modified version of wrk designed for accurate, constant throughput load testing, providing precise latency measurements and detailed percentile output compared to the original wrk.
Screenshot of giltene/wrk2 homepage

wrk2 is a modern HTTP benchmarking tool, built on the foundation of wrk, designed to generate consistent load with accurate, constant throughput. It addresses limitations in wrk's latency measurement by utilizing HdrHistograms for lossless recording, resulting in a significantly more accurate representation of latency. This is particularly valuable for identifying performance bottlenecks and testing system stability under prolonged load.

wrk2 differentiates itself through its accurate latency measurement using HdrHistograms, avoiding common issues like Coordinated Omission prevalent in the original wrk. It preserves wrk's Lua API and provides detailed latency distribution output suitable for easy plotting and analysis. The tool is designed for generating significant load with a multi-threaded approach and scalability for modern systems.

  • Constant Throughput: Ensures a consistent rate of requests per second, crucial for realistic load testing scenarios.
  • Accurate Latency: Employs HdrHistograms for precise percentile measurements, improving accuracy compared to wrk's original approach.
  • Lua API Support: Maintains compatibility with wrk's Lua scripting for custom request generation and reporting.
  • Multi-threaded Design: Leverages multiple threads for high concurrency and efficient load generation.
  • Scalable Event Notification: Utilizes epoll and kqueue for efficient handling of a large number of concurrent connections.
  • Detailed Latency Reporting: Provides comprehensive latency distribution output for in-depth analysis.
  • Flexible Configuration: Supports various parameters like rate, duration, and number of connections for versatile testing.

wrk2 is currently in an experimental/development phase, with ongoing contributions and active maintenance. While not as established as wrk, it offers a significant improvement in latency accuracy and is continually evolving. The project has a relatively active development history and community interest, indicating ongoing effort and potential for future improvements. The project's focus on addressing latency measurement issues suggests it is actively refined.

wrk2 benefits developers, system administrators, and performance engineers who require precise and consistent HTTP load testing. It is ideal for identifying performance bottlenecks, validating system resilience under load, and generating detailed latency reports for analysis and optimization. By providing a more accurate measurement of latency, wrk2 enables more reliable performance assessments compared to relying on less accurate methods or the original wrk's execution model.

Languages:
Summarize:
Share:
Stars
4,608
Forks
421
Issues
107
Created
11 years ago
Commit
2 years ago
License
APACHE-2.0
Archived
No
Updated 16 days ago

Similar Repositories