Skip to main content

Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... ).

Project description

codecov Actions Actions

redisbench-admin

Redis benchmark run helper can help you with the following tasks:

  • Setup abd teardown of benchmarking infrastructure specified on redis-performance/testing-infrastructure
  • Setup and teardown of an Redis and Redis Modules DBs for benchmarking
  • Management of benchmark data and specifications across different setups
  • Running benchmarks and recording results
  • Exporting performance results in several formats (CSV, RedisTimeSeries, JSON)
  • Finding on-cpu, off-cpu, io, and threading performance problems by attaching profiling tools/probers ( perf (a.k.a. perf_events), bpf tooling, vtune )
  • [SOON] Finding performance problems by attaching telemetry probes

Current supported benchmark tools:

Installation

Installation is done using pip, the package installer for Python, in the following manner:

python3 -m pip install redisbench-admin

Profiler daemon

You can use the profiler daemon by itself in the following manner. On the target machine do as follow:

pip3 install --upgrade pip
pip3 install redisbench-admin --ignore-installed PyYAML

# install perf
apt install linux-tools-common linux-tools-generic linux-tools-`uname -r` -y

# ensure perf is working
perf --version

# install awscli
snap install aws-cli --classic


# configure aws
aws configure

# start the perf-daemon
perf-daemon start
WARNING:root:Unable to detected github_actor. caught the following error: No section: 'user'
Writting log to /tmp/perf-daemon.log
Starting perf-daemon. PID file /tmp/perfdaemon.pid. Daemon workdir: /root/RedisGraph

# check daemon is working appropriatelly
curl localhost:5000/ping

# start a profile
curl -X POST localhost:5000/profiler/perf/start/<pid to profile>

# stop a profile
curl -X POST -d '{"aws_access_key_id":$AWS_ACCESS_KEY_ID,"aws_secret_access_key":$AWS_SECRET_ACCESS_KEY}' localhost:5000/profiler/perf/stop/<pid to profile>

Development

  1. Install pypoetry to manage your dependencies and trigger tooling.
pip install poetry
  1. Installing dependencies from lock file
poetry install

Running formaters

poetry run black .

Running linters

poetry run flake8

Running tests

A test suite is provided, and can be run with:

$ tox

To run a specific test:

$ tox -- tests/test_defaults_purpose_built_env.py

To run a specific test and persist the docker container used for timeseries:

tox  --docker-dont-stop=rts_datasink  -- -vv --log-cli-level=INFO  tests/test_defaults_purpose_built_env.py 

To run a specific test with verbose logging:

# tox -- -vv --log-cli-level=INFO tests/test_run.py

License

redisbench-admin is distributed under the BSD3 license - see LICENSE

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

redisbench_admin-0.12.9.tar.gz (167.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

redisbench_admin-0.12.9-py3-none-any.whl (210.5 kB view details)

Uploaded Python 3

File details

Details for the file redisbench_admin-0.12.9.tar.gz.

File metadata

  • Download URL: redisbench_admin-0.12.9.tar.gz
  • Upload date:
  • Size: 167.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.10.19 Linux/6.11.0-1018-azure

File hashes

Hashes for redisbench_admin-0.12.9.tar.gz
Algorithm Hash digest
SHA256 bf3406bfabf40f6bcf0ac9d23b1325a0c1e4a50436df6f4b50ce6a579fb37bc3
MD5 5d1f6268f11db148ec940e1c220bdb69
BLAKE2b-256 491f984b1d01d128573e2805e219ad4f1f6250c46c1f522a409223d87f964f76

See more details on using hashes here.

File details

Details for the file redisbench_admin-0.12.9-py3-none-any.whl.

File metadata

  • Download URL: redisbench_admin-0.12.9-py3-none-any.whl
  • Upload date:
  • Size: 210.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.10.19 Linux/6.11.0-1018-azure

File hashes

Hashes for redisbench_admin-0.12.9-py3-none-any.whl
Algorithm Hash digest
SHA256 95e066720a89009a0ad7450c436ad4346803cafc87e97c2f0a37b7e48f61d541
MD5 707a40f7ab17f6dcd8d43ad82caad7c1
BLAKE2b-256 cf5bbeb2f15d7030b387a28779d347dc2c209c0238c202dc0cb2e5f6abc48853

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page