Test whether your API can handle expected traffic loads before deploying to production.
Measure the effect of server configuration changes by running benchmarks before and after.
Compare performance of different web frameworks or server setups under identical load.
Validate that authentication, custom headers, and dynamic URLs work correctly under stress using Lua scripts.
Requires C compiler and LuaJIT development headers; building from source needed.
wrk is an HTTP benchmarking tool designed to measure how much load a web server can handle. The problem it solves is that developers and system administrators need to know the performance limits of their web applications before putting them in production or before making changes that could affect performance. wrk lets you simulate many concurrent users hitting your server at once and measures how many requests per second your server can process. The way it works is by running on a single multi-core CPU and using a multithreaded design with scalable event notification systems to maximize how many connections it can keep open simultaneously. You point it at a URL and tell it how many threads to use, how many connections to maintain, and how long to run the test. wrk then opens all those connections and hammers the server continuously for the specified duration, then reports statistics including the number of requests completed, requests per second, data transferred, and latency percentiles. It also supports scripting via LuaJIT, which means you can write small Lua scripts to customize request headers, dynamically generate different URLs, or add authentication tokens to your requests. You would use wrk if you are a developer who wants to test whether your web server or API can handle expected traffic loads, or if you are tuning server configuration and want to measure the effect of changes. It is popular for benchmarking web frameworks and comparing how different server setups perform under stress. The tech stack is C for the core tool, with LuaJIT embedded to provide the scripting extension layer.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.