Built with Rust for maximum performance

High-Performance HTTP Load Testing

Fast and scalable load testing tool designed for benchmarking and performance analysis of web services. Get real-time metrics and detailed analytics.

Terminal
$ goku -c 50 -i 1000 --target http://localhost:3000

Concurrency level 50
Time taken 4 seconds
Total requests 1000
Mean request time 169.90 ms
Max request time 415 ms
Min request time 5 ms
95'th percentile: 319 ms
99.9'th percentile: 367 ms

Everything you need for load testing

Modern features and simplicity for engineers to simulate and analyze traffic efficiently.

Blazing Fast

Built with Rust for maximum performance and minimal resource consumption during load tests.

Highly Scalable

Handle thousands of concurrent connections with efficient async I/O operations.

Real-time Metrics

Get detailed performance analytics including percentiles, mean response times, and more.

MCP Integration

Use Goku programmatically from an LLM agent through Model Context Protocol support.

Rate Limiting

Enforce constant-rate load profiles using the --rps flag for precise traffic shaping.

Sequential Scenarios

Define multi-step sequential scenarios to test complex workflows and multiple endpoints per test.

Variable Templating

Inject dynamic placeholders like {{uuid}} and {{seq}} into URLs and request bodies.

Compare Runs

Easily diff two benchmark runs with the built-in compare subcommand to track performance regressions.

Observability Insight

Log in with goku login and publish run results to your project with --report to keep a history.

Install in seconds

Multiple installation methods available for Linux, macOS, and Windows.

$ curl -sSL https://raw.githubusercontent.com/jcaromiq/goku/v3.0.0/scripts/install.sh | sh

Also available as manual download from GitHub Releases

New in v2.0

Model Context Protocol Support

Use Goku programmatically from an LLM agent or any MCP-aware client.

LLM Integration

Ask your LLM to run performance tests directly. No manual CLI usage required.

"Run a performance test on https://github.com with 2 concurrent users and 30 requests, provide the 95th percentile response time."

Automated Workflows

Integrate load testing into automated pipelines and agentic workflows.

  • Trigger tests programmatically
  • Gather and analyze metrics
  • Seamless CI/CD integration

Install MCP Server

$ cargo install goku-mcp

Observability Insight Integration

Log in with your Observability Insight account and publish every run's results to your project.

Open Observability Insight

1. Log in

Goku opens the browser, you log in and choose the project. A token for the project's Goku connector is stored locally.

$ goku login

2. Send results

Add --report to any run. Only the final summary is sent; query strings and credentials are stripped from target URLs.

$ goku -c 50 -d 30 --target https://api.example.com/users --report --report-name "users list" --report-tag nightly

3. Track and compare

Keep the history of your performance tests in the portal and compare runs to spot regressions.

$ goku status

Running in CI

Browsers are not available in CI: create a token in the project's Goku connector settings and expose it as GOKU_OI_TOKEN. Commit and branch are detected on GitHub Actions and GitLab CI.

- run: goku -c 20 -d 60 --target https://staging.example.com --report --report-name "staging smoke"
  env:
    GOKU_OI_TOKEN: ${{ secrets.GOKU_OI_TOKEN }}

Simple and powerful CLI

Intuitive commands for all your load testing needs.

Basic GET request to test endpoint availability

$ goku --target "GET http://localhost:3000"
-c, --clients

Concurrent clients

-i, --iterations

Total requests

-d, --duration

Test duration (seconds)

--rps

Rate limit (req/s)

--scenario

YAML config file