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.
git clone https://github.com/Gifted-s/scylla-write-bench
cd scylla-write-bench/
go build ./
-
--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.
-
--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).
-
Run 1000 queries in parallel allowing only 100 queries per second
./scylla-benchmarker --cluster="localhost:9042" --parallelism=1000 --rate-limit=100
-
Run 3000 queries in parallel allowing only 500 queries per second
./scylla-benchmarker --cluster="localhost:9042" --parallelism=3000 --rate-limit=500