TOOL SIGNAL / ACTIVE

wrk

wg / community

Micro-benchmark CLI Open Source Self-hosted

MAINTAINED BY · Will Glozer

Pricing model
Free; Apache License 2.0.
First released
2012
Latest release
4.2.0
Last verified
Answer

wrk is a modern HTTP benchmarking tool designed to generate significant load when run on a single multi-core CPU. It utilizes a multithreaded architecture combined with scalable event notification systems (epoll on Linux, kqueue on BSD/macOS).

About

wrk is a modern HTTP benchmarking tool designed to generate significant load when run on a single multi-core CPU. It utilizes a multithreaded architecture combined with scalable event notification systems (epoll on Linux, kqueue on BSD/macOS).

Best for

  • Quick HTTP or protocol micro-benchmarks from a single machine
  • Teams that prefer open-source licensing and self-hosting options
  • Groups comfortable scripting in C, Lua

Not the best fit when

  • Full multi-protocol enterprise journeys and rich business-flow reporting
  • Teams unwilling to operate generators, results storage, and scaling

Architecture and concurrency

wrk is typically driven as a CLI micro-benchmark with C, Lua. It favors single-host or simple distributed runs rather than enterprise controller grids.

Compare and alternatives

Features

  • Multithreaded HTTP load generation
  • Configurable number of threads and connections
  • Customizable test duration
  • Support for adding custom HTTP headers
  • Detailed latency statistics reporting
  • Configurable socket/request timeout

Latest release

4.2.0 · 1970-01-01

Recent development activity includes pull requests for io_uring implementation with and without batching, and defining HAVE_KQUEUE on OpenBSD.

Pricing

wrk is open-source software, licensed under the Apache License 2.0 (as indicated by the LICENSE file in the repository), and is available for free.

Specs

Sources

SHOW SOURCES

LAST VERIFIED · 2026-08-11 · GROUNDED VIA EXA · CURATED BY NAVEENKUMAR NAMACHIVAYAM

Frequently asked

ANSWER-SHAPED
Who is wrk for?

wrk is best for developers who need fast HTTP or protocol micro-benchmarks from a terminal. It is open source, so teams can self-host and extend it. Vendor: wg / community. Deployment model: self-hosted. Free; Apache License 2.0. Confirm details against the official site and a short proof-of-concept in your environment.

How does wrk differ from Vegeta?

Compared with Vegeta, scripting centers on C, Lua rather than Go. wrk lists protocols HTTP, HTTPS; Vegeta lists HTTP, HTTPS. Status is active versus active. Use the Test Rig to compare full specs side by side before a proof-of-concept. Confirm details against the official site and a short proof-of-concept in your environment.

What scripting language and concurrency model does wrk use?

wrk uses C, Lua for scripting or scenario definition. Runtime model: CLI-driven request generation with a lightweight concurrency model suited to single-host benchmarks. OS support: macOS, Linux. Protocols: HTTP, HTTPS. Match these to how your team already authors tests and which systems you must drive under load.

What is the cloud or enterprise path for wrk?

wrk is primarily self-hosted; teams typically run generators on their own machines, CI runners, or private cloud. Plan for generator capacity, network access to targets, and result storage yourself. As open source, commercial support or hosted siblings may exist separately. Check the official site. Pricing note: Free; Apache License 2.0.

What are known limitations of wrk?

wrk limitations to weigh: CLI micro-benchmarks excel at raw HTTP throughput but usually lack enterprise scenario orchestration, rich reporting, and multi-protocol suites; self-hosted tools require you to provision, scale, and observe load generators yourself. Status: active. Always validate against your target protocols and scale with a proof-of-concept.