Skip to main content

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

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.34.tar.gz (185.1 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.34-py3-none-any.whl (229.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: redisbench_admin-0.12.34.tar.gz
  • Upload date:
  • Size: 185.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1015-azure

File hashes

Hashes for redisbench_admin-0.12.34.tar.gz
Algorithm Hash digest
SHA256 bd20f90d2bb90b6c40d614adc11d08c8c605161159381bf20707153644ccc1a2
MD5 7c5801ae3e268c1cdc5f6e38cb850b13
BLAKE2b-256 021e562a9077912c62c8df58268cb2810c53d9bdd45235761a336da6fc85a77b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: redisbench_admin-0.12.34-py3-none-any.whl
  • Upload date:
  • Size: 229.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.10.20 Linux/6.17.0-1015-azure

File hashes

Hashes for redisbench_admin-0.12.34-py3-none-any.whl
Algorithm Hash digest
SHA256 40f186c5af94f6116ecba51647cc27187bf26fccdbb683e3862b0cf2d2389b64
MD5 b58bdd74c40817b677110b41d320e15a
BLAKE2b-256 e9ceb5b47fa4c404bb7c09c57cc8a69b561e31d0898e87b5301e3a42c041ab7e

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

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