Fire a quick test from the terminal, or open the web dashboard to watch live charts, find your capacity limit, and rehearse launch day. One Go binary, web UI included.
docker run -p 8080:8080 -v gload-data:/home/app/.gload ghcr.io/mertgundoganx/gload:latest --web
Beyond raw numbers
Most load testers hand you a wall of metrics and wish you luck. gload turns measurements into decisions.
One click auto-ramps traffic to your system's saturation knee and reports — in plain language — the max sustainable RPS and how many instances you need.
Rehearse a TV-ad or viral traffic surge by entering a single number: peak requests per second. Get a clear verdict before the real spike hits.
A sharded, lock-light metrics core records each request in ~56 ns with zero allocations — CPU goes into actual requests, not bookkeeping. Everything shown is measured, never faked.
Web UI
Manage services, stream live metrics over SSE/WebSocket, keep result history, compare runs side by side, and export print-ready reports. No frontend framework — it loads instantly.
Actual screenshot — the dashboard after three test runs.
Feature set
Smooth linear ramps between stages — closed-model concurrency or open-model arrival rate.
Smoke, Steady, Ramp Up, Spike, Stress, and Soak — ready to run on any service.
Multi-step flows with body/header/cookie extractors and weighted steps.
{{gen.*}} placeholders, environment variables, and JSON data sources.
Auto-scale workers to hold a target P95 latency.
Split load evenly across worker nodes; each runs its share independently.
Cron-based recurring tests, managed from the web UI or API.
Slack, Teams, Discord, email, and generic webhooks on completion.
Quick start
# Multi-arch image (amd64 + arm64), published on each release docker run -p 8080:8080 -v gload-data:/home/app/.gload \ ghcr.io/mertgundoganx/gload:latest --web # Then open http://localhost:8080
# Requires Go 1.26+ git clone https://github.com/mertgundoganx/gload.git cd gload make build ./gload --web # web dashboard on :8080
# Basic GET test — 50 workers for 30 seconds gload -u https://api.example.com/health -c 50 -d 30s # POST with headers, generated body, and a 500 RPS cap gload -u https://api.example.com/users -m POST \ -H 'Content-Type: application/json' \ -b '{"name": "{{gen.name}}", "email": "{{gen.email}}"}' \ -c 100 -d 60s -r 500 # Headless mode for CI gload -u https://api.example.com/health -c 10 -d 10s --no-ui
# gload + Prometheus + Grafana with a pre-built dashboard make compose # gload → http://localhost:8080 # Prometheus → http://localhost:9090 # Grafana → http://localhost:3000
Prefer the terminal? The CLI has a live TUI by default and a --no-ui flag for CI pipelines.
Plays well with others
Find out before your users do. Open source, MIT licensed, and a single binary away.