Storage Benchmark Kit Version 5.2
This Release version 5.2 includes
- added the benchmarking of Sync queues, in house Atomic queues, linked blocking queue
- Bug fixes
- Documentation update
How to Use SBK:
-
unzip (untar) the file sbk-5.2.tar
For example : tar -xvf sbk-5.2.tar -C ./ -
For performance bench-marking use this extracted binary file : "</SBK directory/> /bin/sbk"
below is the help output:
usage: sbk -out SystemLogger
Storage Benchmark Kit
-class <arg> Storage Driver Class,
Available Drivers [Activemq, Artemis, AsyncFile,
Atomicq, BookKeeper, Cassandra, CephS3, ConcurrentQ,
Conqueue, Couchbase, CouchDB, CSV, Db2, Derby,
Dynamodb, Exasol, FdbRecord, File, FileStream,
FoundationDB, H2, HDFS, Hive, Jdbc, Kafka, LevelDB,
Linkedbq, MariaDB, Memcached, MinIO, MongoDB, MsSql,
MySQL, Nats, NatsStream, Nsq, Null, OpenIO,
PostgreSQL, Pravega, Pulsar, RabbitMQ, Redis,
RedPanda, RocketMQ, RocksDB, SeaweedS3, SQLite,
Syncq]
-help Help message
-maxlatency <arg> Maximum latency;
use '-time' for time unit; default:180000 ms
-minlatency <arg> Minimum latency;
use '-time' for time unit; default:0 ms
-out <arg> Logger Driver Class,
Available Drivers [CSVLogger, GrpcLogger,
PrometheusLogger, Sl4jLogger, SystemLogger]
-readers <arg> Number of readers
-records <arg> Number of records(events) if 'seconds' not specified;
otherwise, Maximum records per second by writer(s);
and/or
Number of records per second by reader(s)
-ro <arg> Readonly Benchmarking,
Applicable only if both writers and readers are set;
default: false
-rq <arg> Benchmark Reade Requests; default: false
-rsec <arg> Number of seconds/step for readers, default: 0
-rstep <arg> Number of readers/step, default: 1
-seconds <arg> Number of seconds to run
if not specified, runs forever
-size <arg> Size of each message (event or record)
-sync <arg> Each Writer calls flush/sync after writing <arg>
number of of events(records); and/or
<arg> number of events(records) per Write or Read
Transaction
-throughput <arg> If > 0, throughput in MB/s
If 0, writes/reads 'records'
If -1, get the maximum throughput (default: -1)
-time <arg> Latency Time Unit [ms:MILLISECONDS, mcs:MICROSECONDS,
ns:NANOSECONDS]; default: ms
-wq <arg> Benchmark Write Requests; default: false
-writers <arg> Number of writers
-wsec <arg> Number of seconds/step for writers, default: 0
-wstep <arg> Number of writers/step, default: 1
Please report issues at https://github.com/kmgowda/SBK
How to Use SBK-YAL:
-
unzip (untar) the file sbk-5.2.tar
For example : tar -xvf sbk-5.2.tar -C ./ -
For performance bench-marking use this extracted binary file : "</SBK directory/> /bin/sbk-yal"
below is the help output:
usage: sbk-yal
Storage Benchmark Kit-YML Arguments Loader
-f <arg> SBK YAML file, default: ./sbk.yml
-help Help message
-p Print SBK Options Help Text
Please report issues at https://github.com/kmgowda/SBK
How to Use SBM:
-
unzip (untar) the file sbm-5.2.tar
For example : tar -xvf sbm-5.2.tar -C ./ -
For performance bench-marking use this extracted binary file : "</SBM directory/> /bin/sbm"
below is the help output:
usage: sbm -out SbmPrometheusLogger
Storage Benchmark Monitor
-action <arg> action [r: read, w: write,
wr: write and read, wro: write but only read,
rw: read and write, rwo: read but only write],
default: r
-class <arg> storage class name; run 'sbk -help' to see the list
-context <arg> Prometheus Metric context;
'no' disables this option; default: 9719/metrics
-csvfile <arg> CSV file to record results;
'no' disables this option, default: no
-help Help message
-max <arg> Maximum number of connections; default: 1000
-maxlatency <arg> Maximum latency;
use '-time' for time unit; default:180000 ms
-minlatency <arg> Minimum latency;
use '-time' for time unit; default:0 ms
-out <arg> logger driver class,
Available Drivers [SbmPrometheusLogger]
-port <arg> SBM port number; default: 9717
-rq <arg> Benchmark Reade Requests; default: false
-time <arg> Latency Time Unit [ms:MILLISECONDS, mcs:MICROSECONDS,
ns:NANOSECONDS]; default: ms
-wq <arg> Benchmark Write Requests; default: false
Please report issues at https://github.com/kmgowda/SBK
How to Use SBK-GEM:
-
unzip (untar) the file sbk-gem-5.2.tar
For example : tar -xvf sbk-gem-5.2.tar -C ./ -
For performance bench-marking use this extracted binary file : "</SBK-GEM directory/> /bin/sbk-gem"
below is the help output:
usage: sbk-gem -out GemPrometheusLogger
Storage Benchmark Kit - Group Execution Monitor
-class <arg> Storage Driver Class,
Available Drivers [Activemq, Artemis, AsyncFile,
BookKeeper, Cassandra, CephS3, Couchbase, CouchDB,
CSV, Db2, Derby, Dynamodb, Exasol, FdbRecord, File,
FileStream, FoundationDB, H2, HDFS, Hive, Jdbc,
Kafka, LevelDB, MariaDB, Memcached, MinIO, MongoDB,
MsSql, MySQL, Nats, NatsStream, Nsq, Null, OpenIO,
PostgreSQL, Pravega, Pulsar, RabbitMQ, Redis,
RedPanda, RocketMQ, RocksDB, SeaweedS3, SQLite]
-context <arg> Prometheus Metric context;
'no' disables this option; default: 9719/metrics
-copy <arg> Copy the SBK package to remote hosts; default: true
-csvfile <arg> CSV file to record results;
'no' disables this option, default: no
-delete <arg> Delete SBK package after benchmark; default: true
-gempass <arg> ssh user password of the remote hosts, default:
-gemport <arg> ssh port of the remote hosts, default: 22
-gemuser <arg> ssh user name of the remote hosts, default: user
-help Help message
-localhost <arg> this local SBM host name, default:
kmgs-MacBook-Pro.local
-maxlatency <arg> Maximum latency;
use '-time' for time unit; default:180000 ms
-minlatency <arg> Minimum latency;
use '-time' for time unit; default:0 ms
-nodes <arg> remote hostnames separated by ',';
default:localhost
-out <arg> Logger Driver Class,
Available Drivers [GemPrometheusLogger]
-readers <arg> Number of readers
-records <arg> Number of records(events) if 'seconds' not specified;
otherwise, Maximum records per second by writer(s);
and/or
Number of records per second by reader(s)
-ro <arg> Readonly Benchmarking,
Applicable only if both writers and readers are set;
default: false
-rq <arg> Benchmark Reade Requests; default: false
-rsec <arg> Number of seconds/step for readers, default: 0
-rstep <arg> Number of readers/step, default: 1
-sbkcommand <arg> remote sbk command; command path is relative to
'sbkdir', default: bin/sbk
-sbkdir <arg> directory path of sbk application, default:
/Users/kmg/projects/SBK/build/install/sbk
-sbmPort <arg> SBM port number; default: 9717
-seconds <arg> Number of seconds to run
if not specified, runs forever
-size <arg> Size of each message (event or record)
-sync <arg> Each Writer calls flush/sync after writing <arg>
number of of events(records); and/or
<arg> number of events(records) per Write or Read
Transaction
-throughput <arg> If > 0, throughput in MB/s
If 0, writes/reads 'records'
If -1, get the maximum throughput (default: -1)
-time <arg> Latency Time Unit [ms:MILLISECONDS, mcs:MICROSECONDS,
ns:NANOSECONDS]; default: ms
-wq <arg> Benchmark Write Requests; default: false
-writers <arg> Number of writers
-wsec <arg> Number of seconds/step for writers, default: 0
-wstep <arg> Number of writers/step, default: 1
Please report issues at https://github.com/kmgowda/SBK
How to Use SBK-GEM-YAL:
-
unzip (untar) the file sbk-gem-yal-5.2.tar
For example : tar -xvf sbk-gem-yal-5.2.tar -C ./ -
For performance bench-marking use this extracted binary file : "</SBK-GEM-YAL directory/> /bin/sbk-gem-yal"
below is the help output:
usage: sbk-gem-yal
Storage Benchmark Kit-Group Execution Monitor-YML Arguments Loader
-f <arg> SBK-GEM YAML file, default: ./sbk-gem.yml
-help Help message
-p Print SBK-GEM Options Help Text
Please report issues at https://github.com/kmgowda/SBK