# wg/wrk

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/wg-wrk).**

40,075 stars · 3,028 forks · C · other

## Links

- GitHub: https://github.com/wg/wrk
- awesome-repositories: https://awesome-repositories.com/repository/wg-wrk.md

## Description

This project is a command-line HTTP load testing tool designed to measure the throughput and latency of web servers under high-concurrency conditions. It functions as a multi-threaded benchmarking engine that simulates thousands of simultaneous connections to evaluate server performance, identify bottlenecks, and determine capacity limits.

The tool distinguishes itself through a shared-nothing thread architecture that isolates state within individual threads to eliminate lock contention during high-frequency request generation. It utilizes a non-blocking event loop and low-latency socket polling to manage network connections with minimal overhead. Furthermore, it embeds a scripting engine that allows users to define custom request patterns, dynamic payloads, and response processing logic directly within the execution context.

Beyond basic throughput measurement, the tool supports infrastructure stress testing and performance regression analysis. It provides the capability to create complex request sequences, enabling developers to simulate varied traffic patterns and evaluate how backend services respond to extreme request volumes.

## Tags

### Programming Languages & Runtimes

- [Asynchronous I/O Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/asynchronous-i-o-runtimes.md) — Uses a non-blocking event loop to manage thousands of concurrent network connections with minimal memory overhead.
- [Multi-Threaded Execution Environments](https://awesome-repositories.com/f/programming-languages-runtimes/multi-threaded-execution-environments.md) — Distributes the workload across multiple CPU cores by pinning independent event loops to specific hardware threads.
- [Embedded Scripting Engines](https://awesome-repositories.com/f/programming-languages-runtimes/embedded-scripting-engines.md) — Embeds a lightweight virtual machine to execute user-defined logic during the request lifecycle.

### Testing & Quality Assurance

- [HTTP Load Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/http-load-testing-tools.md) — Generates high-concurrency traffic to measure the throughput and latency of web servers.
- [HTTP Performance Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/http-performance-testing-tools.md) — Evaluates the throughput and latency of web servers under high concurrent load.
- [Throughput Benchmarking Tools](https://awesome-repositories.com/f/testing-quality-assurance/throughput-benchmarking-tools.md) — Measures server performance by simulating concurrent connections to track throughput and latency. ([source](https://github.com/wg/wrk/blob/master/README.md))
- [Multi-Threaded Benchmarking Engines](https://awesome-repositories.com/f/testing-quality-assurance/multi-threaded-benchmarking-engines.md) — Utilizes multiple CPU cores to simulate thousands of simultaneous connections against a target service.
- [Scriptable Request Generators](https://awesome-repositories.com/f/testing-quality-assurance/scriptable-request-generators.md) — Allows developers to define custom HTTP request patterns and response processing logic using embedded scripting.
- [API Load Simulation Tools](https://awesome-repositories.com/f/testing-quality-assurance/api-load-simulation-tools.md) — Creates complex request sequences and dynamic payloads to test backend service handling of varied traffic.
- [Infrastructure Stress Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/infrastructure-stress-testing-tools.md) — Pushes network services to their breaking point to determine stability under extreme request volume.
- [Scriptable Benchmarking Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/scriptable-benchmarking-frameworks.md) — Allows customization of HTTP requests and response processing during performance tests via scripting. ([source](https://github.com/wg/wrk/blob/master/SCRIPTING))

### Operating Systems & Systems Programming

- [Socket Polling Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/socket-polling-interfaces.md) — Utilizes system-level notification interfaces to monitor file descriptors efficiently and trigger immediate processing.

### Software Engineering & Architecture

- [Shared-Nothing Architectures](https://awesome-repositories.com/f/software-engineering-architecture/shared-nothing-architectures.md) — Isolates state within individual threads to eliminate lock contention and synchronization bottlenecks.
