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:
- redis-benchmark
- memtier_benchmark
- redis-benchmark-go
- YCSB
- tsbs
- redisgraph-benchmark-go
- ftsb_redisearch
- ann-benchmarks
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
- Install pypoetry to manage your dependencies and trigger tooling.
pip install poetry
- 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
Metadata
Release files for redisbench-admin 0.12.39
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| redisbench_admin-0.12.39.tar.gz | 191.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| redisbench_admin-0.12.39-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 426.7 kB
Release files / redisbench_admin-0.12.39.tar.gz
| Download URL | redisbench_admin-0.12.39.tar.gz |
|---|---|
| Size | 191.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41699cbb47cfb2b883c5ee8bcda5a94f222cae5678bd38da463e8b8bfc03702a
|
|
BLAKE2b-256 checksum How to use checksums |
7dbc4d4d0a4afa61e95a94248c30ead9cb5c873771b90fd74def2b2294103300
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.10.21 Linux/6.17.0-1022-azure
|
Release files / redisbench_admin-0.12.39-py3-none-any.whl
| Download URL | redisbench_admin-0.12.39-py3-none-any.whl |
|---|---|
| Size | 235.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
86007d265558d1a150f8beab462387ee17f52a77f96c6c4ea49526fc38fddea8
|
|
BLAKE2b-256 checksum How to use checksums |
d9beed7d62a89f42789bf6870e2296a6512ceb9d2bd7a0e6098fb2bac4883462
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.10.21 Linux/6.17.0-1022-azure
|