Cassandra Performance Testing with cstar_perf
It's frequently been reiterated on this blog that performance testing of Cassandra is often done incorrectly. In my role as a Cassandra test engineer at DataStax, I've certainly done it incorrectly myself, numerous times. I'm convinced that the only way to do it right, consistently, is through automation - there's simply too many variables to keep track of when doing things by hand.
cstar_perf is an easy to use tool to run performance tests on Cassandra clusters. A brief outline of what it does for you:
- Downloads and builds Cassandra source code.
- Configures your cassandra.yaml and environment settings.
- Bootstraps nodes on a real cluster.
- Runs a series of test operations on multiple versions or configs.
- Collects and aggregates cluster performance metrics.
- Creates easy to read performance charts comparing multiple test configurations in one view.
- Runs a web frontend for convenient test scheduling, monitoring and reporting.
Here's a quick introduction on how to run a simple benchmark with cstar_perf:
This tool has certainly has made my life easier when testing Cassandra, so it makes good sense to open source it. Easy ways to run tests will make sure they are run more often - and earlier in the development process. Getting good, transparent, testing tools into the hands of developers and other users, will seriously ramp up the quality of Cassandra releases.