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.
$ 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 msEverything 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 | shAlso available as manual download from GitHub Releases
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-mcpObservability Insight Integration
Log in with your Observability Insight account and publish every run's results to your project.
Open Observability Insight1. 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 login2. 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 nightly3. Track and compare
Keep the history of your performance tests in the portal and compare runs to spot regressions.
$ goku statusRunning 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, --clientsConcurrent clients
-i, --iterationsTotal requests
-d, --durationTest duration (seconds)
--rpsRate limit (req/s)
--scenarioYAML config file