strest 0.1.8

Blazing-fast async HTTP load tester in Rust - lock-free design, real-time stats, distributed runs, and optional chart exports for high-load API testing.
Documentation

strest

[!WARNING] Only use strest for testing infrastructure you own or have explicit permission to test. Unauthorized use may be illegal.

strest is a command-line tool for stress testing web servers with real-time stats, deterministic replay, and built-in memory diagnostics.

Why strest

  • Deterministic replay without re-hitting prod.
  • Built-in memory growth investigation (RSS logging + heap profiling).
  • All-vs-ok latency separation so failures don’t hide tail pain.
  • Config-first workflows with no JS runtime tax.
  • Controller/agent distributed mode with streaming aggregation.

Quick Start

cargo install strest
strest -u http://localhost:3000 -t 30

Scenario quickstart:

# strest.toml
[scenario]
base_url = "http://localhost:3000"

[[scenario.steps]]
method = "get"
path = "/health"
assert_status = 200
strest --config strest.toml -t 30 --no-tui --summary --no-charts

Screenshots

Charts focus on signal:

  • All vs ok latency percentiles show tail impact from failures.
  • Throughput + inflight reveal saturation and ramp behavior.
  • Error breakdown separates timeouts, transport errors, and non-expected status codes.

Full gallery: docs/USAGE.md#charts.

Docs

  • docs/USAGE.md for CLI, flags, configs, and charts.
  • docs/ADVANCED.md for replay, WASM, profiling, distributed mode, and sinks.

Contributions

If you'd like to contribute, start with CONTRIBUTING.md for the workflow and checks.

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.