Skip to content

Storage Benchmark Kit Version 5.2

Compare
Choose a tag to compare
@kmgowda kmgowda released this 16 Aug 09:02
· 23 commits to master since this release

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:

  1. unzip (untar) the file sbk-5.2.tar
    For example : tar -xvf sbk-5.2.tar -C ./

  2. 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:

  1. unzip (untar) the file sbk-5.2.tar
    For example : tar -xvf sbk-5.2.tar -C ./

  2. 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:

  1. unzip (untar) the file sbm-5.2.tar
    For example : tar -xvf sbm-5.2.tar -C ./

  2. 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:

  1. unzip (untar) the file sbk-gem-5.2.tar
    For example : tar -xvf sbk-gem-5.2.tar -C ./

  2. 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:

  1. unzip (untar) the file sbk-gem-yal-5.2.tar
    For example : tar -xvf sbk-gem-yal-5.2.tar -C ./

  2. 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

SBK Docker Images

SBK Git hub packages

SBK in Jit Pack

SBK in Maven Central