# Install wrk with Homebrew, apk, apt, MacPorts, Nix, zypper

HTTP benchmarking tool. Version 4.2.0 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:wrk
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install wrk
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install wrk
```

  Evidence: MacPorts ports tree: net/wrk/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add wrk
```

  Evidence: Alpine Linux edge package indexes: wrk from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install wrk
```

  Evidence: Debian stable package indexes: wrk from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#wrk
```

  Evidence: nixpkgs package indexes: pkgs/by-name/wr/wrk/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install wrk
```

  Evidence: openSUSE Tumbleweed package metadata: wrk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:wrk
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/wrk>
- **Version:** 4.2.0
- **Source summary:** HTTP benchmarking tool
- **Homepage:** <https://github.com/wg/wrk>
- **Repository:** <https://github.com/wg/wrk>
- **Upstream docs:** <https://github.com/wg/wrk#readme>
- **License:** LicenseRef-Homebrew-cannot-represent
- **Source archive:** <https://github.com/wg/wrk/archive/refs/tags/4.2.0.tar.gz>
- **Last updated:** 2026-06-25T13:38:12+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- wrk (cli)
- wrk (alias)

## Dependencies

- luajit
- openssl@4

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.2.0
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/wg/wrk
- Upstream latest detected: 4.2.0 (current)
## Project history and usage

wrk is a high-performance HTTP benchmarking tool by Will Glozer. Its README describes it as a modern tool capable of generating significant load from a single multi-core CPU by combining a multithreaded design with scalable event notification systems such as epoll and kqueue.

The tool became a standard name in web-performance circles because it is small, fast, scriptable with LuaJIT, and easy to invoke in repeatable local benchmarks. It occupies the practical space between older ApacheBench-style smoke tests and heavier distributed load-testing systems.

### Project history

The `wg/wrk` repository was created on 20 March 2012, and FreeBSD ports metadata shows wrk entering the FreeBSD ports tree on 1 August 2012. That early packaging matters: wrk quickly became a Unix-packaged benchmarking binary rather than only a GitHub project to build manually.

The 4.x line continued the same minimal command-line design. Git tag metadata places wrk 4.1.0 in January 2018 and 4.2.0 in February 2021. The README still emphasizes the core model: threads, connections, duration, optional latency reporting, custom headers, and optional LuaJIT scripting for request generation, response processing, and custom reporting.

### Adoption history

wrk's adoption is visible in both package-manager coverage and GitHub popularity. The repository has accumulated tens of thousands of stars and thousands of forks, and the tool is packaged across common Unix-like ecosystems. FreeBSD has carried it under `benchmarks/wrk` since 2012.

Its niche adoption came from being able to generate large amounts of HTTP load from one machine, which made it attractive for web-server comparisons, local regression checks, and performance blog posts. The README's own example shows a 30-second run with 12 threads and 400 connections, a command shape that became a common shorthand for quick HTTP load tests.

### How it is used

The canonical invocation is `wrk -t12 -c400 -d30s URL`, where `-t` sets threads, `-c` sets open HTTP connections, and `-d` sets duration. Users add `--latency` for latency distributions, `-H` for headers, and `-s` for LuaJIT scripts when a static GET request is not enough.

wrk is best used for controlled benchmark comparisons rather than full production traffic modeling. The README warns that the client machine needs enough ephemeral ports and that per-request scripting or response callbacks reduce the amount of load the tool can generate.

### Why package nerds care

wrk is one of the package-manager canonical HTTP benchmark binaries: short name, single executable, stable README usage, and enough performance to stress real services from a laptop or build host. That combination made it a frequent dependency of performance-minded developers even when it is not a library dependency of applications.

It is also historically important as a C/LuaJIT benchmark tool in a field crowded with language-specific clients. Package nerds care because it offers a compact, reproducible baseline for HTTP throughput and latency testing across machines and operating systems.

### Timeline

- 2012-03-20: The `wg/wrk` GitHub repository is created.
- 2012-08-01: FreeBSD ports adds `benchmarks/wrk`.
- 2018-01-21: Git tag metadata places wrk 4.1.0 in early 2018.
- 2021-02-07: Git tag metadata places wrk 4.2.0 in early 2021.
- 2020s: wrk remains widely packaged and commonly cited for HTTP benchmarking.

### Related projects

- LuaJIT is used for wrk's scripting extension point.
- ApacheBench, siege, vegeta, hey, and k6 are common comparison points in HTTP benchmarking and load testing.
- go-wrk and other similarly named tools are separate implementations or derivatives inspired by wrk's niche.

### Sources

- <https://api.github.com/repos/wg/wrk>
- <https://api.github.com/repos/wg/wrk/git/ref/tags/4.1.0>
- <https://api.github.com/repos/wg/wrk/git/ref/tags/4.2.0>
- <https://github.com/wg/wrk>
- <https://www.freshports.org/benchmarks/wrk/>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** wrk
- **Version Scheme:** 0
- **Revision:** 2
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - wrk - 4.1.0-4+b1: normalized package name match | Debian stable package indexes: wrk from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | HTTP benchmarking tool | https://github.com/wg/wrk
- Nix - wrk: normalized package name match | nixpkgs package indexes: pkgs/by-name/wr/wrk/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - wrk - 4.1.0-4build2: normalized package name match | Ubuntu 24.04 LTS package indexes: wrk from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | HTTP benchmarking tool | https://github.com/wg/wrk
- apk - wrk - 4.2.0-r3: normalized package name match | Alpine Linux edge package indexes: wrk from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | wrk is a modern HTTP benchmarking tool | https://github.com/wg/wrk
- apk - wrk-doc - 4.2.0-r3: normalized package name match | Alpine Linux edge package indexes: wrk-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | wrk is a modern HTTP benchmarking tool (documentation) | https://github.com/wg/wrk
- zypper - wrk - 4.2.0-2.3: normalized package name match | openSUSE Tumbleweed package metadata: wrk from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Modern HTTP benchmarking tool | https://github.com/wg/wrk
- MacPorts - wrk: normalized package name match | MacPorts ports tree: net/wrk/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [luajit](https://www.automicvault.com/pkg/brew/luajit/) - Runtime dependency declared by Homebrew.
- [openssl@4](https://www.automicvault.com/pkg/brew/openssl-4/) - Runtime dependency declared by Homebrew.
- [siege](https://www.automicvault.com/pkg/brew/siege/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, http, load-testing.
- [bench](https://www.automicvault.com/pkg/brew/bench/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [goku](https://www.automicvault.com/pkg/brew/goku/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, http, load-testing.
- [http_load](https://www.automicvault.com/pkg/brew/http-load/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, http, load-testing.
- [hyperfine](https://www.automicvault.com/pkg/brew/hyperfine/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [memtier_benchmark](https://www.automicvault.com/pkg/brew/memtier-benchmark/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools, load-testing.
- [minio-warp](https://www.automicvault.com/pkg/brew/minio-warp/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [multitime](https://www.automicvault.com/pkg/brew/multitime/) - Shares av.db curated category or tags: benchmarking, cli, developer-tools.
- [httperf](https://www.automicvault.com/pkg/brew/httperf/) - Local package facts share a topical domain. Shared terms: benchmarking, cli, developer, developer-tools, http.

## Combined YAML source

View the package source record on GitHub. [combined/wrk.yml](https://github.com/automic-vault/db/blob/main/combined/wrk.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
