# h2load

> h2load is an open source, self-hosted micro-benchmark CLI from nghttp2 project, scripted in C++.

- Canonical: https://perf.jmeter.ai/tools/h2load/
- Official: https://nghttp2.org/documentation/h2load-howto.html
- Source: https://github.com/nghttp2/nghttp2
- Vendor: nghttp2 project
- Category: Micro-benchmark CLI
- License: Open Source — Free; MIT License.
- Deployment: Self-hosted
- Status: Active
- Scripting: C++
- Protocols: HTTP, HTTPS, HTTP/2, HTTP/3
- OS support: Windows, macOS, Linux
- First released: 2014

- Last verified: 2026-08-12

## What it is
h2load is the benchmarking client shipped by the nghttp2 project for generating HTTP/1.1, HTTP/2, and HTTP/3 traffic. It reports request rates, latency distributions, status codes, and connection statistics from repeatable CLI runs.

## Choose it when
- 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++

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

## Architecture
h2load is typically driven as a CLI micro-benchmark with C++. It favors single-host or simple distributed runs rather than enterprise controller grids.

## Pricing
Free; MIT License.

## Compare

## FAQ
### Who is h2load for?
h2load 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: nghttp2 project. Deployment model: self-hosted. Free; MIT License. Confirm details against the official site and a short proof-of-concept in your environment.

### How does h2load differ from Vegeta?
Compared with Vegeta, scripting centers on C++ rather than Go. h2load lists protocols HTTP, HTTPS, HTTP/2, HTTP/3; 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.

### What scripting language and concurrency model does h2load use?
h2load uses C++ for scripting or scenario definition. Runtime model: CLI-driven request generation with a lightweight concurrency model suited to single-host benchmarks. OS support: Windows, macOS, Linux. Protocols: HTTP, HTTPS, HTTP/2, HTTP/3. 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 h2load?
h2load 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; MIT License.

### What are known limitations of h2load?
h2load 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.

---
Curated by NaveenKumar Namachivayam (QAInsights) · methodology: https://perf.jmeter.ai/about/#methodology · corrections: https://github.com/QAInsights/Performance-Testing-Tools/issues/new?title=Tool%20submission%3A%20&body=Tool%20name%3A%20%0AOfficial%20URL%3A%20%0AWhat%20should%20be%20added%20or%20corrected%3F%20%0A