All Projects → leeliu → Dbench

leeliu / Dbench

Licence: mit
Benchmark Kubernetes persistent disk volumes with fio: Read/write IOPS, bandwidth MB/s and latency

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
Jetson benchmarks
Jetson Benchmark
Stars: ✭ 134 (-2.9%)
Mutual labels:  benchmark
Node Disk Manager
Kubernetes Storage Device Management
Stars: ✭ 128 (-7.25%)
Mutual labels:  storage
Sos
Simple Object Storage (I wish I could call it Steve's Simple Storage, or S3 ;)
Stars: ✭ 129 (-6.52%)
Mutual labels:  storage
Rucio
Rucio - Scientific Data Management
Stars: ✭ 131 (-5.07%)
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
Vtebench
Generate benchmarks for terminal emulators
Stars: ✭ 131 (-5.07%)
Mutual labels:  benchmark
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

  1. Download dbench.yaml and edit the storageClassName to match your Kubernetes provider's Storage Class kubectl get storageclasses
  2. Deploy Dbench using: kubectl apply -f dbench.yaml
  3. Once deployed, the Dbench Job will:
    • provision a Persistent Volume of 1000Gi (default) using storageClassName: 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
  4. Follow benchmarking progress using: kubectl logs -f job/dbench (empty output means the Job not yet created, or storageClassName is invalid, see Troubleshooting below)
  5. 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
  1. 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 of 1000Gi (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 a 1000Gi volume. Just edit the yaml, kubectl delete -f dbench.yaml and run kubectl apply -f dbench.yaml again after deprovision/delete completes.
  • A list of all fio tests are in docker-entrypoint.sh.

Contributors

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