
wrktoolbox
A tool to run wrk and wrk2 benchmarks, store their output, and generate reports.
Features
- Support for YAML and JSON configuration files, to define benchmark suites
- Parses the output of wrk and wrk2 HTTP benchmarking tools
- Possibility to define performance goals, which are evaluated and stored with results
- Strategy to store benchmarks results and whole suite configuration
- Support for plugins, loaded dynamically to define new types of stores, performance goals, and reports writers
- Strategy to produce reports of results, for example to XLSX, with wrktoolbox-xlsx - see Wiki
- Docker images for Ubuntu and Alpine
- CLI
Quick example
pip install wrktools
- verify that the cli works (optional)
wrktoolbox --help
- prepare a YAML, or JSON file with configuration.
A basic example, with a single type of benchmark, looks like this:
benchmarks:
- url: https://this-is-an-example.it/api/alive
threads: 10
concurrency: 100
duration: 30
stores:
- json
- run a suite of benchmarks using a settings file
wrktoolbox run --settings basic.yaml
Refer to examples folder for an example of full configuration file, defining plugins for authentication and custom store.