A tool to run wrk and wrk2 benchmarks and store their output.
Project description
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
- install
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:
# the array of benchmarks contains the configuration of benchmarks to run
benchmarks:
- url: https://this-is-an-example.it/api/alive
threads: 10 # threads count
concurrency: 100 # concurrent users
duration: 30 # test duration in seconds
# the type of stores to use, to collect benchmark results
# it is possible to define custom stores, using plugins;
# for example to store results in a database, or send them to an API
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wrktools-0.1.9.tar.gz
(19.8 kB
view hashes)
Built Distribution
wrktools-0.1.9-py3-none-any.whl
(26.1 kB
view hashes)