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 wrk-load-tools
- 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.
Metadata
Release files for wrk-load-tools 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wrk-load-tools-0.0.3.tar.gz | 20.4 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wrk_load_tools-0.0.3-py3.8.egg | Legacy Egg format | - | - | Details |
| wrk_load_tools-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 110.0 kB
Release files / wrk-load-tools-0.0.3.tar.gz
| Download URL | wrk-load-tools-0.0.3.tar.gz |
|---|---|
| Size | 20.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea5d4abf94129184b53216f2ba1fa56df01d271d173b0281115d61f76c89883c
|
|
BLAKE2b-256 checksum How to use checksums |
56118135036df37a8c37a7c09fd2f26848eb1288e2da250a7701d496f10694bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10
|
Release files / wrk_load_tools-0.0.3-py3.8.egg
| Download URL | wrk_load_tools-0.0.3-py3.8.egg |
|---|---|
| Size | 63.4 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
ed90968bc0e6bdf1a179622e4cc0695eb558f88244aad60bd1597767c846eda4
|
|
BLAKE2b-256 checksum How to use checksums |
e88134016e6ad161b0ff573709e98988078a33f757f9076e0839a319c9f8829f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10
|
Release files / wrk_load_tools-0.0.3-py3-none-any.whl
| Download URL | wrk_load_tools-0.0.3-py3-none-any.whl |
|---|---|
| Size | 26.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2bbdb832dfab74c6fdb7d072c57ff9df3301abc29939d8b5d849ce3c74b5b77b
|
|
BLAKE2b-256 checksum How to use checksums |
e58d058a380c11ffa0becdc0427f146a099ef08ca1905bc259e2150df71cc53e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10
|