Storage Benchmark Kit
The NATS driver for SBK supports writers , readers benchmarking along with End to End Latency benchmarking.
Refer to this page : https://hub.docker.com/_/nats-streaming to get the NATS streaming docker image. or simple just execute the below command
docker run -p 4222:4222 -ti nats-streaming:latest
you need to have Dockers installed on your system. An example, SBK benchmarkig command is
./build/install/sbk/bin/sbk -class Natsstream -uri nats://localhost:4222 -cluster test-cluster -topic kmg-topic-2 -size 100 -writers 1 -readers 1 -seconds 60
sample output is as follows:
kmg@kmgs-MBP SBK % ./build/install/sbk/bin/sbk -class Natsstream -uri nats://localhost:4222 -cluster test-cluster -topic kmg-topic-2 -size 100 -writers 1 -readers 1 -seconds 60
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/slf4j-simple-1.7.14.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/Users/kmg/projects/SBK/build/install/sbk/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
2021-02-27 21:04:54 INFO
_____ ____ _ __
/ ____| | _ \ | | / /
| (___ | |_) | | |/ /
\___ \ | _ < | <
____) | | |_) | | |\ \
|_____/ |____/ |_| \_\
2021-02-27 21:04:54 INFO Java Runtime Version: 11.0.8+11
2021-02-27 21:04:54 INFO SBK Version: 0.861
2021-02-27 21:04:54 INFO Arguments List: [-class, Natsstream, -uri, nats://localhost:4222, -cluster, test-cluster, -topic, kmg-topic-2, -size, 100, -writers, 1, -readers, 1, -seconds, 60]
2021-02-27 21:04:54 INFO sbk.applicationName: sbk
2021-02-27 21:04:54 INFO sbk.className:
2021-02-27 21:04:54 INFO Reflections took 69 ms to scan 34 urls, producing 52 keys and 172 values
2021-02-27 21:04:54 INFO Available Drivers : 33
2021-02-27 21:04:54 INFO Arguments to Driver 'NatsStream' : [-uri, nats://localhost:4222, -cluster, test-cluster, -topic, kmg-topic-2, -size, 100, -writers, 1, -readers, 1, -seconds, 60]
2021-02-27 21:04:54 INFO Time Unit: MILLISECONDS
2021-02-27 21:04:54 INFO Minimum Latency: 0 ms
2021-02-27 21:04:54 INFO Maximum Latency: 180000 ms
2021-02-27 21:04:54 INFO Window Latency Store: Array
2021-02-27 21:04:54 INFO Total Window Latency Store: HashMap
2021-02-27 21:04:55 INFO PrometheusLogger Started
NatsStream Write_Reading 5049 records, 1009.4 records/sec, 0.10 MB/sec, 1.0 ms avg latency, 43 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 4 ms 99.9th, 43 ms 99.99th.
NatsStream Write_Reading 5330 records, 1065.8 records/sec, 0.10 MB/sec, 0.9 ms avg latency, 5 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 2 ms 99.9th, 5 ms 99.99th.
NatsStream Write_Reading 5238 records, 1047.4 records/sec, 0.10 MB/sec, 0.9 ms avg latency, 14 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 2 ms 99.9th, 14 ms 99.99th.
NatsStream Write_Reading 5231 records, 1044.7 records/sec, 0.10 MB/sec, 0.9 ms avg latency, 3 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 3 ms 99.9th, 3 ms 99.99th.
NatsStream Write_Reading 4980 records, 995.8 records/sec, 0.09 MB/sec, 1.0 ms avg latency, 16 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 2 ms 95th, 2 ms 99th, 2 ms 99.9th, 16 ms 99.99th.
NatsStream Write_Reading 4635 records, 926.8 records/sec, 0.09 MB/sec, 1.1 ms avg latency, 211 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 2 ms 95th, 2 ms 99th, 3 ms 99.9th, 211 ms 99.99th.
NatsStream Write_Reading 4478 records, 895.1 records/sec, 0.09 MB/sec, 1.1 ms avg latency, 3 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 2 ms 90th, 2 ms 95th, 2 ms 99th, 3 ms 99.9th, 3 ms 99.99th.
NatsStream Write_Reading 5111 records, 1021.6 records/sec, 0.10 MB/sec, 1.0 ms avg latency, 7 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 2 ms 99.9th, 7 ms 99.99th.
NatsStream Write_Reading 5321 records, 1064.0 records/sec, 0.10 MB/sec, 0.9 ms avg latency, 7 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 2 ms 99.9th, 7 ms 99.99th.
NatsStream Write_Reading 4164 records, 832.3 records/sec, 0.08 MB/sec, 1.2 ms avg latency, 468 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 2 ms 95th, 2 ms 99th, 9 ms 99.9th, 468 ms 99.99th.
NatsStream Write_Reading 5162 records, 1032.0 records/sec, 0.10 MB/sec, 1.0 ms avg latency, 6 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 3 ms 99.9th, 6 ms 99.99th.
NatsStream Write_Reading 5142 records, 1033.2 records/sec, 0.10 MB/sec, 1.0 ms avg latency, 10 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 2 ms 99.9th, 10 ms 99.99th.
Total : NatsStream Write_Reading 59841 records, 997.3 records/sec, 0.10 MB/sec, 1.0 ms avg latency, 468 ms max latency; 0 invalid latencies; Discarded Latencies: 0 lower, 0 higher; 1 ms 10th, 1 ms 25th, 1 ms 50th, 1 ms 75th, 1 ms 90th, 1 ms 95th, 2 ms 99th, 3 ms 99.9th, 40 ms 99.99th.
2021-02-27 21:05:55 INFO SBK Performance Shutdown
Unable to stop reader thread
2021-02-27 21:05:56 INFO PrometheusLogger Stopped
2021-02-27 21:05:57 INFO SBK Benchmark Shutdown