Skip to content

Relentless load testing and comparison testing tool for HTTP / GRPC

License

Notifications You must be signed in to change notification settings

hayas1/relentless

Repository files navigation

Workflow Status Maintenance

Relentless load testing and comparison testing tool for HTTP / GRPC.

Usage

Main usage of relentless is comparison testing for REST API servers with relentless-http. Other usages in More details section.

Install

cargo install --git https://github.com/hayas1/relentless relentless-http --features cli

or get binary from GitHub Releases.

Prepare Config

For example, compare.yaml

name: basic comparison test
destinations:
  actual: http://localhost:3000
  expect: http://localhost:3000

testcases:
  - target: /
  - target: /health
  - target: /healthz

Run API for testing

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

Run CLI

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.

More details

HTTP GRPC
Docs relentless-http relentless-grpc

Documents

https://hayas1.github.io/relentless/relentless

Testing

Benchmarks

TODO

Coverage

https://hayas1.github.io/relentless/relentless/tarpaulin-report.html

About

Relentless load testing and comparison testing tool for HTTP / GRPC

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •