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_redistimeseries.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.11.13.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

redisbench_admin-0.11.13-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: redisbench_admin-0.11.13.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.7 Linux/5.19.0-46-generic

File hashes

Hashes for redisbench_admin-0.11.13.tar.gz
Algorithm Hash digest
SHA256 e0e5154397bd63d39d44b4a49950d5922f578ff97405ee278180a66dd39ee416
MD5 1cea1f4550f1f1ccafa1e4add0f7031b
BLAKE2b-256 eb22cc7af75552e1c94f25455ea5ad0558ba35c88aa19d4f4d19115f42a3bc4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redisbench_admin-0.11.13-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.7 Linux/5.19.0-46-generic

File hashes

Hashes for redisbench_admin-0.11.13-py3-none-any.whl
Algorithm Hash digest
SHA256 01dfb735fb12ccede8762c88f9bafbc0108a0c259ddce91f86bfbb6752937d7f
MD5 4da807f3bc9e86df5843b335384d5512
BLAKE2b-256 cbe37903d602def67f58f42f585c1d6df536f619456eb34ed0968e53373cf678

See more details on using hashes here.

Supported by

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