Skip to content
A workload-centric stress tool for Apache Cassandra. Designed for simplicity, no math degree required.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Switched logging to log4j2. Mar 10, 2019
docs Improved design of field functions Mar 20, 2019
gradle/wrapper added gaussian call, needs testing Jan 24, 2019
manual fixed minor log4j issues Mar 12, 2019
.gitignore added experimental CSV support Feb 22, 2019 Add the ability to run a profile for a given duration instead of a nu… Dec 22, 2018
build.gradle Setting up parameterized tests to test all plugins. Mar 13, 2019

tlp-stress: A workload centric stress tool and framework

This project is a work in progress.

cassandra-stress is a configuration-based tool for doing benchmarks and testing simple datamodels for Apache Cassandra. Unfortunately it can be difficult to configure a workload. There are faily common data models and workloads seen on Apache Cassandra, this tool aims to provide a means of executing configurable, pre-defined profiles.

Full docs are here (sort of, work in progress):


Clone this repo, then build with gradle:

git clone
cd tlp-stress
./gradlew assemble

Use the shell script wrapper to start and get help:

bin/tlp-stress -h


Time series workload with a billion operations:

bin/tlp-stress run BasicTimeSeries -i 1B

Key value workload with a million operations across 5k partitions, 50:50 read:write ratio:

bin/tlp-stress run KeyValue -i 1M -p 5k -r .5

Time series workload, using TWCS:

bin/tlp-stress run BasicTimeSeries -i 10M --compaction "{'class':'TimeWindowCompactionStrategy', 'compaction_window_size': 1, 'compaction_window_unit': 'DAYS'}"

Time series workload with a run lasting 1h and 30mins:

bin/tlp-stress run BasicTimeSeries -d "1h 30m"
You can’t perform that action at this time.