A tool to run wrk/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:
- test_id: this_is_an_example_test_id #preferred test identifier to be added in reports
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
wrk-load-tools-0.0.1.tar.gz
(19.6 kB
view hashes)
Built Distributions
wrk_load_tools-0.0.1-py3.8.egg
(63.4 kB
view hashes)
Close
Hashes for wrk_load_tools-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4863c4429cd53769af021ed01f1606786d870f0d9cb97921e05616098867f718 |
|
MD5 | b14c52b60d1e41305a507af1bc4b95cb |
|
BLAKE2b-256 | 7d634d1c911ad2870ebccb184d51b30e8db438693fbe62caf21973cda4060b6d |