Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JVM
  3. wrk2

wrk2

Apache-2.0C

A constant throughput HTTP benchmarking tool with accurate latency measurement using HdrHistogram to avoid coordinated omission.

GitHubGitHub
4.6k stars420 forks0 contributors

What is wrk2?

wrk2 is a specialized HTTP benchmarking tool that generates constant throughput load while providing accurate latency measurements. It solves the problem of coordinated omission—where traditional load generators miss high-latency events by waiting for slow responses before sending new requests. By measuring latency from when requests should have been sent according to a constant rate plan, wrk2 reveals true server performance characteristics.

Target Audience

Performance engineers, DevOps professionals, and backend developers who need accurate latency measurements for HTTP services under consistent load. It's particularly valuable for teams diagnosing tail latency issues or validating service-level objectives (SLOs).

Value Proposition

Developers choose wrk2 over other benchmarking tools because it provides mathematically correct latency measurements that account for coordinated omission. Unlike wrk and similar tools that can dramatically underreport high percentiles during server slowdowns, wrk2's constant throughput approach with HdrHistogram recording ensures latency distributions reflect actual user experience.

Overview

A constant throughput, correct latency recording variant of wrk

Use Cases

Best For

  • Measuring true 99th and 99.9th percentile latency for HTTP services
  • Load testing with precise constant throughput requirements
  • Identifying coordinated omission effects in existing benchmark results
  • Validating service-level objectives (SLOs) with accurate latency data
  • Comparing server performance during sustained high-load scenarios
  • Generating detailed latency distribution reports for performance analysis

Not Ideal For

  • Quick, ad-hoc load testing sessions under 10-20 seconds
  • Simulating variable or bursty traffic patterns
  • Benchmarking non-HTTP protocols like WebSocket or gRPC
  • Teams needing only basic throughput numbers without deep latency analysis

Pros & Cons

Pros

Accurate Latency Measurement

Uses HdrHistogram for lossless recording and corrects coordinated omission, providing true latency percentiles up to 99.9999%, as demonstrated in the README's comparison of corrected vs. uncorrected distributions.

Constant Throughput Control

Allows precise setting of requests per second with the --rate parameter, enabling consistent and reproducible load testing for performance validation.

Detailed Distribution Reports

With the --latency flag, it outputs comprehensive percentile spectra in a format suitable for analysis and plotting, helping identify tail latency issues.

Lua Scripting Flexibility

Maintains full compatibility with wrk's Lua API for custom request generation and response processing, though complex scripts may reduce load capacity.

Cons

Long Calibration Period

Requires a 10-second calibration phase, making tests shorter than 10-20 seconds potentially uninformative, as admitted in the README's basic usage section.

Limited to Constant Load

Designed only for constant throughput generation, so it cannot simulate realistic variable or stochastic traffic patterns without manual scripting workarounds.

Millisecond Granularity

Latency measurements are accurate to +/- ~1 msec due to OS sleep behavior, limiting precision for sub-millisecond latencies in high-performance scenarios.

Frequently Asked Questions

Quick Stats

Stars4,600
Forks420
Contributors0
Open Issues74
Last commit2 years ago
CreatedSince 2014

Tags

#http-benchmarking#load-testing#lua-scripting#performance-testing#hdrhistogram#network-testing#latency-measurement

Built With

e
epoll
L
LuaJIT
k
kqueue
C
C++

Included in

JVM2.2k
Auto-fetched 1 day ago

Related Projects

GatlingGatling

Asynchronous non-blocking scenario driven load testing tool for testing HTTP servers

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub