Goku
About
Goku is an HTTP load testing application written in Rust
Details
- License
- MIT
Explore
Fast and scalable HTTP load testing
Real-time live stats during long tests
Rate limiting (--rps) for constant-rate load profiles
Multi-step sequential scenarios (multiple endpoints per test)
Variable templating in URLs and bodies ({{uuid}}, {{seq}}, {{random_int}}, …)
Built-in authentication (Bearer token, Basic auth)
ASCII latency histogram in text output
compare subcommand to diff two benchmark runs
Output to file (--output-file) and per-request log (--results-log)
HTTP/1.1, HTTP/2 support
Multiple output formats: text, json, csv
MCP (Model Context Protocol) server for LLM/agent integration
---
Example usage with an LLM
Once Goku is registered as an MCP tool, you can ask your LLM:
> "Run a load test on https://api.example.com/users with 50 concurrent clients for 30 seconds using HTTP/2, and give me the p95 and p99 latency."
The LLM will call the run_benchmark MCP tool and return the full structured report.
Parameter
Type
target
string
clients
number
requests
number
duration_secs
number
body
string
headers
string[]
http2
boolean
ramp_up
number
timeout_ms
number
insecure
boolean
rps
number
The MCP server exposes a single unified tool with the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| target | string | ✅ | URL with optional method prefix. E.g. "POST http://api.example.com/users" |
| clients | number | ✅ | Number of concurrent workers |
| requests | number | — | Total requests (ignored when duration_secs is set) |
| duration_secs | number | — | Test duration in seconds (alternative to requests) |
| body | string | — | Request body for POST/PUT/PATCH |
| headers | string[] | — | Headers in "Name:Value" format |
| http2 | boolean | — | Use HTTP/2 prior knowledge |
| ramp_up | number | — | Seconds to spread worker start |
| timeout_ms | number | — | Request timeout in ms (default: 30000) |
| insecure | boolean | — | Accept invalid TLS certificates |
| rps | number | — | Max requests per second (rate limiting) |
Returns a full JSON report with all latency percentiles, throughput, and status code breakdown.
---

Goku is a high-performance, scalable HTTP load-testing tool designed for benchmarking and performance analysis of web services. Inspired by tools like Drill and Vegeta, Goku offers modern features and simplicity for engineers to simulate and analyze traffic efficiently.
Features
Fast and scalable HTTP load testing
Real-time live stats during long tests
Rate limiting (--rps) for constant-rate load profiles
Multi-step sequential scenarios (multiple endpoints per test)
Variable templating in URLs and bodies ({{uuid}}, {{seq}}, {{random_int}}, …)
Built-in authentication (Bearer token, Basic auth)
ASCII latency histogram in text output
compare subcommand to diff two benchmark runs
Output to file (--output-file) and per-request log (--results-log)
HTTP/1.1, HTTP/2 support
Multiple output formats: text, json, csv
MCP (Model Context Protocol) server for LLM/agent integration
---
Install CLI
Automatic download (Linux, OSX, WSL)
curl -sSL https://raw.githubusercontent.com/jcaromiq/goku/v3.0.0/scripts/install.sh | sh
Using Cargo
cargo install goku-bench
goku --version
Manual download
Go to the Goku's GitHub Releases page and download the latest .tar.gz for your system:
Linux (x86_64, arm64)
macOS (x86_64)
- Windows (x86_64)
From source
cargo build --release
---
MCP (Model Context Protocol) Support
Goku integrates with the Model Context Protocol (MCP) — use Goku programmatically from any LLM agent or MCP-aware client.
What this enables
- Use Goku from an LLM or AI agent — no manual CLI usage required.
- Combine load testing with automated workflows: trigger a test, gather metrics, and analyze results from within an agent or script.
- Seamless integration into broader toolchains and agentic pipelines.
Example usage with an LLM
Once Goku is registered as an MCP tool, you can ask your LLM:
> "Run a load test on https://api.example.com/users with 50 concurrent clients for 30 seconds using HTTP/2, and give me the p95 and p99 latency."
The LLM will call the run_benchmark MCP tool and return the full structured report.
Install MCP server
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



