pepe
An HTTP load generator with a live dashboard, built to cost less than the server it tests. Load-test a URL, ping it to see where the time goes, ramp to find the capacity, and read the result as a verdict or a JSON report.
curl -LsSf https://pepe.mhaimdat.com/install.sh | sh
pepe https://example.com
InstallThe installer, Homebrew, Nix, Docker, prebuilt binaries, updates, completions.Load testing
pepe URL: every option, the load's shape, warm-up, arrival rate, threads, the config file, a curl command, the setup screen.The dashboardThe views, the verdict, the inspector, the filters, and every key.Pingpepe ping: a request a second split into DNS, connect, TLS, first byte and download, with a graph and what to look at.Ramppepe ramp: raise the load step by step, find the level that held and the capacity.OpenAPIpepe api: the endpoints of a spec, picked on screen or by tag, with their parameters.Flowspepe flow: a sequence of requests, each step fed by the one before.Replaypepe replay: an access log's URLs in their real proportions, sent at another host.nginx logspepe logs: the request rate now against each minute, hour and day, paths, errors and lines.Comparepepe compare: what moved between two reports, as a verdict, a badge and a card.Output and exit codesThe report in the shell, JSON and its schema, --fail-if, Prometheus metrics, exit codes.CI and DockerThe GitHub Action, a pull request held against its base branch, Docker, soak runs.Agents and scriptsWhat a program needs to know to call pepe and read the answer.Command referenceEvery command and flag, as --help prints them.Where to start
- Install it.
- Run
pepe https://your.service/healthand read the dashboard;qleaves the verdict in your shell. - Leave
pepe ping https://your.service/healthopen while you deploy, or runpepe ping URL --onceto see why it is slow (Ping). - Put the test next to the code as a
pepe.toml(config file) and run it in CI with the GitHub Action or--fail-if(Output).
The plan for what comes next is in ROADMAP.md, and what changed in each release in CHANGELOG.md.