Skip to main content

A tool to run wrk and wrk2 benchmarks and store their output.

Project description

Build status pypi Test coverage

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

  1. install
pip install wrktools
  1. verify that the cli works (optional)
wrktoolbox --help
  1. 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
  1. 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


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)

Uploaded source

Built Distribution

wrktools-0.1.9-py3-none-any.whl (26.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page