leeliu / Dbench
Licence: mit
Benchmark Kubernetes persistent disk volumes with fio: Read/write IOPS, bandwidth MB/s and latency
Stars: ✭ 138
Programming Languages
shell
77523 projects
Projects that are alternatives of or similar to Dbench
Actors
Evaluation of API and performance of different actor libraries
Stars: ✭ 125 (-9.42%)
Mutual labels: benchmark
Gatling Dubbo
A gatling plugin for running load tests on Apache Dubbo(https://github.com/apache/incubator-dubbo) and other java ecosystem.
Stars: ✭ 131 (-5.07%)
Mutual labels: benchmark
Sos
Simple Object Storage (I wish I could call it Steve's Simple Storage, or S3 ;)
Stars: ✭ 129 (-6.52%)
Mutual labels: storage
P2plab
performance benchmark infrastructure for IPLD DAGs
Stars: ✭ 126 (-8.7%)
Mutual labels: benchmark
Kotlinx Benchmark
Kotlin multiplatform benchmarking toolkit
Stars: ✭ 137 (-0.72%)
Mutual labels: benchmark
Mixbench
A GPU benchmark tool for evaluating GPUs on mixed operational intensity kernels (CUDA, OpenCL, HIP, SYCL)
Stars: ✭ 130 (-5.8%)
Mutual labels: benchmark
Spring Backend Boilerplate
The modularized backend boilerplate based on Spring Boot Framework, easy to get started and add your business part.
Stars: ✭ 134 (-2.9%)
Mutual labels: storage
Ghost Storage Adapter S3
An AWS S3 storage adapter for Ghost
Stars: ✭ 128 (-7.25%)
Mutual labels: storage
Vuex Localstorage
Persist Vuex state with expires by localStorage or some else storage.
Stars: ✭ 129 (-6.52%)
Mutual labels: storage
Noobaa Core
NooBaa is a Dynamic Data Gateway for cloud-native, hybrid and multi cloud environments ☁️🚀
Stars: ✭ 131 (-5.07%)
Mutual labels: storage
Combinefirebase
Combine wrapper on Google's iOS Firebase library.
Stars: ✭ 126 (-8.7%)
Mutual labels: storage
Sensaturban
🔥Urban-scale point cloud dataset (CVPR 2021)
Stars: ✭ 135 (-2.17%)
Mutual labels: benchmark
Store
A better way to use localStorage and sessionStorage
Stars: ✭ 1,646 (+1092.75%)
Mutual labels: storage
Sltbench
C++ benchmark tool. Practical, stable and fast performance testing framework.
Stars: ✭ 137 (-0.72%)
Mutual labels: benchmark
Sysbench Tpcc
Sysbench scripts to generate a tpcc-like workload for MySQL and PostgreSQL
Stars: ✭ 136 (-1.45%)
Mutual labels: benchmark
Embedded Ai.bench
benchmark for embededded-ai deep learning inference engines, such as NCNN / TNN / MNN / TensorFlow Lite etc.
Stars: ✭ 131 (-5.07%)
Mutual labels: benchmark
dbench
Benchmark Kubernetes persistent disk volumes with fio
: Read/write IOPS, bandwidth MB/s and latency.
Usage
- Download dbench.yaml and edit the
storageClassName
to match your Kubernetes provider's Storage Classkubectl get storageclasses
- Deploy Dbench using:
kubectl apply -f dbench.yaml
- Once deployed, the Dbench Job will:
- provision a Persistent Volume of
1000Gi
(default) usingstorageClassName: ssd
(default) - run a series of
fio
tests on the newly provisioned disk - currently there are 9 tests, 15s per test - total runtime is ~2.5 minutes
- provision a Persistent Volume of
- Follow benchmarking progress using:
kubectl logs -f job/dbench
(empty output means the Job not yet created, orstorageClassName
is invalid, see Troubleshooting below) - At the end of all tests, you'll see a summary that looks similar to this:
==================
= Dbench Summary =
==================
Random Read/Write IOPS: 75.7k/59.7k. BW: 523MiB/s / 500MiB/s
Average Latency (usec) Read/Write: 183.07/76.91
Sequential Read/Write: 536MiB/s / 512MiB/s
Mixed Random Read/Write IOPS: 43.1k/14.4k
- Once the tests are finished, clean up using:
kubectl delete -f dbench.yaml
and that should deprovision the persistent disk and delete it to minimize storage billing.
Notes / Troubleshooting
- If the Persistent Volume Claim is stuck on Pending, it's likely you didn't specify a valid Storage Class. Double check using
kubectl get storageclasses
. Also check that the volume size of1000Gi
(default) is available for provisioning. - It can take some time for a Persistent Volume to be Bound and the Kubernetes Dashboard UI will show the Dbench Job as red until the volume is finished provisioning.
- It's useful to test multiple disk sizes as most cloud providers price IOPS per GB provisioned. So a
4000Gi
volume will perform better than a1000Gi
volume. Just edit the yaml,kubectl delete -f dbench.yaml
and runkubectl apply -f dbench.yaml
again after deprovision/delete completes. - A list of all
fio
tests are in docker-entrypoint.sh.
Contributors
- Lee Liu (LogDNA)
- Alexis Turpin
License
- MIT
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].