The SBK (Storage Benchmark Kit) is an open source software framework for the performance benchmarking of any storage system, SBK is a very high-performance benchmark tool/framework. It massively writes/reads the data to/from the storage system, it provides a standardized performance measurements that can be used to compare and evaluate different storage systems and configurations.
2. Abstract
In this new technological era, the IT sector focuses on the development of
software applications that process faster and are deployable in any
environment. That's the reason every IT industry falls on devices and new
methodologies to improve performance. One thing is the storage area. It is
possible by evaluating and measuring the read/write throughput of that
storage system or device. The results of benchmark tests can be used to
optimize system performance, identify performance bottlenecks, and guide
hardware and software purchasing decisions.
2
3. Introduction
The SBK (Storage Benchmark Kit) is an open source software
framework for the performance benchmarking of any storage system,
SBK is a very high-performance benchmark tool/framework. It
massively writes/reads the data to/from the storage system, it provides
a standardized performance measurements that can be used to
compare and evaluate different storage systems and configurations.
5. In Distributed Environment
• SBK has a great supportive nature and
deployable in the distributed nodes using
some of the application, those are SBM
and SBK-GEM and SBK-GEM-YAL.
• SBK can be executed on the multiple
nodes and performance results can be
aggregated into one master node called
SBM.
SBK
SBK
SBK SBM
Storage System
8. ECOSYSTEM APPLICATIONS
1. SBK as a
stand alone
application
• Run the SBK
command/appli
cation to get
the
performance
benchmark
result,
• Console
output,
Grafana graph.
2. SBK-YML
• YML argument
loader.
3. SBK-RAM
• Result
aggregation
monitor.
• Java GRPC
server.
• Collects the
performance
results from
multiple SBK
instances
4. SBK-GEM
• It combines the
SBK-RAM and
SBK.
• can be used
run the SBK in
all the nodes of
the cluster.
• It copies the
SBK
application to
all nodes of the
cluster
5. SBK-GEM-
YAL
• Extracts
arguments from
the YML file and
invokes the
SBK-GEM
command with
the same
arguments as
command line
parameters.
8
6.SBK
CHARTS
• Python
Application.
• To create
csv or xlsx
file.
9. SBK Architecture
1. SBK Benchmark
2. Writers/Readers
3. Data Type Handler
4. Storage Interface and Drivers
5. SBK Performance Processor
6. Result Logger
10. Components of SBK
10
1. SBK Benchmark :-it parses and processes the application/user supplied or command line
arguments, configures the multiple writers, readers, and the component of SBK performance
processor.
2. Writers/Readers :- these components initiate the performance benchmarking of write and read
operations, implements the max throughput mode to measures the maximum write/read
throughput of a storage system.
3. Data Type Handler : - it defines the type of data and methods/operations to operate on the data.
4. Storage Interface and Driver :- it can be used to implement a custom and pluggable storage
driver for any storage device/client.
5. SBK Performance Processor : - it solves the synchronization issues between the multiple
writers, readers and the response threads which are created upon completion of asynchronous
write or read operations.
6. Result Logger : - this components receives the benchmark result( throughput values, average &
11. SBK Execution Modes
1 - Burst Mode / Max Rate Mode
In this mode, the SBK pushes/pulls the messages to/from the storage client(device/driver) as much as
possible. This mode is used to find the maximum and throughput that can be obtained from the storage
device or storage cluster (server). This mode can be used for both writers and readers. By default, the SBK
runs in Burst mode.
2 - Throughput Mode
the SBK pushes/pulls/from the messages to the storage client(device/driver) with specified approximate
maximum throughput in terms of Mega Bytes/second (MB/s). This mode is used to find the least latency
that can be obtained from the storage device or storage cluster (server) for given throughput
3 - Rate limiter Mode
This mode is another form of controlling writers/readers throughput by limiting the number of records per
second. In this mode, the SBK pushes/pulls the messages to/from the storage client (device/driver) with
specified approximate maximum records per sec. This mode is used to find the least latency that can be
obtained from the storage device or storage cluster (server) for events rate.
4 - End to End Latency Mode
In this mode, the SBK writes and reads the messages to the storage client (device/driver) and records the
end to end latency. End to end latency means the time duration between the beginning of the writing
event/record to stream, and the time after reading the event/record. in this mode user must specify both the
number of writers and readers.
12. Advantages
1. Performance Evaluation:
• One of the primary advantages of using a storage benchmark kit is that it allows you to evaluate
the performance of your storage devices. This information can be used to optimize the
performance of your system and identify any bottlenecks or areas for improvement.
2. Comparison of Storage Devices
3. Quality Control
• Storage benchmark kits can help ensure the quality and reliability of your storage devices. By testing
your devices under different conditions, you can identify potential issues before they become a
problem.
12
• Storage benchmark kits can also be used to compare the performance of different storage
devices, enabling you to make more informed decisions when selecting storage solutions for your
system.
4. Standardization
• Storage benchmark kits often follow standardized testing procedures, allowing for consistent and
reliable performance measurements across different systems and configurations.
5. Cost Optimization
• By using a storage benchmark kit, you can identify the most cost-effective storage solutions
that provide the best performance for your needs, helping to optimize your IT budget.
13. Conclusion
a storage benchmark kit is a valuable tool for evaluating the performance of
any storage system. By using a benchmark kit, you can identify the strengths
and weaknesses of your storage devices, compare the performance of
different devices, ensure quality control, standardize testing procedures, and
optimize your IT budget. Overall, the use of a storage benchmark kit can help
you make more informed decisions about your storage infrastructure and
improve the performance and reliability of your computer systems.