Skip to content

Gifted-s/scylla-write-bench

Repository files navigation

scylla-write-bench

scylla-write-bench is a CLI for performing write benchmarking for Scylla written in Go. It allows parallel insertion of random data to ScyllaDB while rate-limiting the number of requests. i.e a user can specify the maximum number of parallel writes and the maximum rate at which these writes are performed i.e req/sec. The number of requests performed and average latencies is printed periodically for assessment.

Install

git clone https://github.com/Gifted-s/scylla-write-bench
cd scylla-write-bench/
go build ./

Flags(required)

  • --cluster defines cluster name to use e.g localhost:9042.

  • --parallelism sets maximum number of queries to be performed in parallel.

  • --rate-limit sets maximum number of requests to be performed per second.

Flags(optional)

  • --keyspace defines keyspace name to use (default scylla_bench).

  • --table defines table name to work with (default test).

  • --process-timeout sets how long this process should run before signaling a timeout error (default 30 minutes).

  • --timeout sets timeout for each request (default 5 seconds).

  • --drop-db drop database after process is completed (default true).

  • --report-interval sets interval at which total requests performed and the avarage latencies is printed (default 1 millisecond).

Examples

  1. Run 1000 queries in parallel allowing only 100 queries per second ./scylla-benchmarker --cluster="localhost:9042" --parallelism=1000 --rate-limit=100

  2. Run 3000 queries in parallel allowing only 500 queries per second ./scylla-benchmarker --cluster="localhost:9042" --parallelism=3000 --rate-limit=500

About

Throttling requests with gocql

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages