You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/blog/working-with-benk-a-storage-provisioning-and-io-performance-benchmark-suite-for-kubernetes.md
+9-9Lines changed: 9 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,15 +13,15 @@ tags:
13
13
- hpe-nimble-storage
14
14
- hpe-3par-and-primera
15
15
---
16
-
Recently Hewlett Packard Enterprise published an open source benchmark suite for storage drivers capable of dynamically provisioning persistent volumes to Kubernetes. The suite is called [Benk](https://github.com/hpe-storage/benk) and it is an acronym that plays with the word bench as in benchmark and Kubernetes. Benk is used internally at HPE for mapping performance metrics around the provisioning process itself as well as IO performance. It’s still a bit rough around the edges and not feature complete but it’s still a very useful tool to capture performance across large swaths of configurations with a high degree of automation and repeatability without too much of user attendance.
16
+
Recently Hewlett Packard Enterprise (HPE) published an open source benchmark suite for storage drivers capable of dynamically provisioning persistent volumes to Kubernetes. The suite is called [Benk](https://github.com/hpe-storage/benk) and it is an acronym that plays with the word bench as in benchmark and Kubernetes. Benk is used internally at HPE for mapping performance metrics around the provisioning process itself as well as for IO performance. It’s still a bit rough around the edges and not feature complete, but it’s still a very useful tool to capture performance across large swaths of configurations with a high degree of automation and repeatability without too much user attendance.
17
17
18
18
A few of the features include:
19
19
20
20
* Highly customizable rendering of Kubernetes resources through kustomize templates
21
21
* A simple Kubernetes batch job that manage all the provisioning, decommissioning and benchmarking
22
-
*Single configuration file per job that abstracts Kubernetes constructs and IO parameters
23
-
*Uses industry standard Flexible I/O tester (FIO) for filesystem benchmarking
24
-
* Easy to buildyourown output templates using Jinja2 with the rich metrics in JSON format
22
+
*A single configuration file per job that abstracts Kubernetes constructs and IO parameters
23
+
*Use of industry standard Flexible I/O tester (FIO) for filesystem benchmarking
24
+
* Easy-to-build-your-own output templates using Jinja2 with the rich metrics in JSON format
25
25
26
26
Let’s walk through a practical example of configuring, running and reporting a benchmark with Benk.
27
27
@@ -211,22 +211,22 @@ This report template will summarize the findings in a markdown table, suitable t
211
211
| 128 | 147 | 833 | 5.7x |
212
212
```
213
213
214
-
Clearly, the performance increases nearly 5x across the board and we also have a discrepancy in the dataset. Which one?
214
+
Clearly, the performance increases nearly 5x across the board. We also have a discrepancy in the dataset. Which one?
215
215
216
-
A good exercise for the reader could be to factor in latency in the report to understand the impact, which there will be as performance plateaus when you add more workload usually result in higher latency. How high?
216
+
A good exercise would be to factor in latency into the report in order to understand the impact, which there will be, as performance plateaus when you add more workloads – usually as a result of higher latency. But, how high?
217
217
218
218
# More sequencers and examples!
219
219
220
220
There’s also a `sequencer-cluster.sh` script that allows users to orchestrate load generation across multiple clusters attached to one or many storage systems to isolate problems with high concurrency. The possibilities are quite endless.
221
221
222
-
Learn more about multi-cluster scaling in [the GitHub repository](https://github.com/hpe-storage/benk#multi-cluster-testing).
222
+
You can learn more about multi-cluster scaling in [the GitHub repository](https://github.com/hpe-storage/benk#multi-cluster-testing).
223
223
224
224
You'll also find more practical examples in [the GitHub repository](https://github.com/hpe-storage/benk/tree/main/examples) stemming from real world performance testing conducted by the HPE Hybrid Cloud solutions team.
225
225
226
226
# Summary
227
227
228
-
This hopefully gets you started on ideas you’d like to build and use cases you want to explore. The possibilities are endless. Bear in mind that Benk is by all means provided as-is and a very early implementation HPE chose to open source to better collaborate with customers and partners to isolate performance bottlenecks with full transparency. Not all advertised features in `config.env`has been implemented yet as an example and the CLI is not completed yet.
228
+
Hopefully, this blog post gets you started on ideas you’d like to build and use cases you want to explore. The possibilities are endless. Bear in mind that Benk is, by all means, provided as-is. In addition, to be fully transparent, this is a very early implementation that HPE chose to open source in order to better collaborate with customers and partners to isolate performance bottlenecks. For example, not all advertised features in `config.env`have been implemented yet and the CLI is not yet completed.
229
229
230
230
HPE invites collaboration and accepts pull requests to Benk on GitHub. The [first issue](https://github.com/hpe-storage/benk/issues/2) discusses a solution on how to collapse initial configuration and reporting into a single intuitive Python CLI.
231
231
232
-
Let us know what you’re building or have questions. The team behind the tool are available on HPE Developer Community Slack in the [#Kubernetes](https://hpedev.slack.com/archives/C81QZ4X62) channel. Sign up [here](https://developer.hpe.com/slack-signup) and sign in at [hpedev.slack.com](https://hpedev.slack.com).
232
+
Let us know what you’re building or have questions. The team behind the tool is available on HPE Developer Community Slack in the [#Kubernetes](https://hpedev.slack.com/archives/C81QZ4X62) channel. Sign up [here](https://developer.hpe.com/slack-signup) and sign in at [hpedev.slack.com](https://hpedev.slack.com).
0 commit comments