Relentless load testing and comparison testing tool for HTTP / GRPC.
Main usage of relentless
is comparison testing for REST API servers with relentless-http
.
Other usages in More details section.
cargo install --git https://github.com/hayas1/relentless relentless-http --features cli
or get binary from GitHub Releases.
For example, compare.yaml
name: basic comparison test
destinations:
actual: http://localhost:3000
expect: http://localhost:3000
testcases:
- target: /
- target: /health
- target: /healthz
Optional: if there is no API for testing, relentless-http-dev-server
is provided.
cargo install --git https://github.com/hayas1/relentless relentless-http-dev-server
relentless-http-dev-server
relentless-http -f compare.yaml
🚀 basic comparison test 🚀
actual🌐 http://localhost:3000/
expect🌐 http://localhost:3000/
✅ /
✅ /health
✅ /healthz
💥 summery of all requests in configs 💥
pass-rt: 3/3=100.00% rps: 6req/22.37ms=268.23req/s
latency: min=2.774ms mean=8.194ms p50=5.219ms p90=22.127ms p99=22.127ms max=22.127ms
In this case the actual
and expect
are the same server, so the request gets the same response and the test passes. ✅
- Each request is done concurrently by default.
HTTP | GRPC | |
---|---|---|
Docs | relentless-http | relentless-grpc |
https://hayas1.github.io/relentless/relentless
TODO
https://hayas1.github.io/relentless/relentless/tarpaulin-report.html