使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

2025-05-29 0 80

使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

工具

Dbench

https://github.com/leeliu/dbench

用法

1.编辑 dbench.yaml 文件中的 storageClassName 以匹配你自己的 Storage Class。

  1. kubectlgetstorageclasses

2.部署

  1. kubectlapply-fdbench.yaml

3.部署后,Dbench Job 将:

  • 使用 storageClassName: ssd(默认)提供 1000Gi(默认)的持久卷
  • 在新配置的磁盘上运行一系列 fio 测试。
  • 目前有 9 个测试,每个测试 15 秒 – 总运行时间约为 2.5 分钟。

4.使用以下方法跟踪基准测试进度:

  1. kubectllogs-fjob/dbench

空输出表示 job 尚未创建,或 storageClassName 无效,请参阅下面的故障排除。

5.在所有测试结束时,您将看到类似于以下内容的摘要:

  1. ==================
  2. =DbenchSummary=
  3. ==================
  4. RandomRead/WriteIOPS:75.7k/59.7k.BW:523MiB/s/500MiB/s
  5. AverageLatency(usec)Read/Write:183.07/76.91
  6. SequentialRead/Write:536MiB/s/512MiB/s
  7. MixedRandomRead/WriteIOPS:43.1k/14.4k

Dbench 摘要结果

  • Random Read/Write IOPS(随机读写)
  • BW(带宽)
  • Average Latency (usec) Read/Write(读/写平均延迟)
  • Sequential Read/Write(顺序读/写)
  • Mixed Random Read/Write IOPS(混合随机读/写)

6.测试完成后,进行清理:

  1. kubectldelete-fdbench.yaml

注意事项/故障排除

  • 如果持久化卷声明(Persistent Volume Claim)卡在 Pending 上,很可能您没有指定有效的存储类(Storage Class)。使用 kubectl get storageclasses 进行双重检查。还要检查用于配置的卷大小是否为 1000Gi(默认值)。
  • 绑定持久性卷可能需要一些时间,Kubernetes Dashboard UI 将 Dbench Job 显示为红色,直到卷完成配置。
  • 测试多种磁盘大小很有用,因为大多数云提供商按每 GB 配置的 IOPS 定价。因此,4000Gi 卷的性能可能将优于 1000Gi 卷。重新测试,只需编辑 yaml,kubectl delete -f dbench.yaml 并在 deprovision/delete 完成后再次运行 kubectl apply -f dbench.yaml。
  • 所有 fio 测试的项都在 docker-entrypoint.sh 中。
  • Testing Read IOPS…
  • Testing Write IOPS…
  • Testing Read Bandwidth…
  • Testing Write Bandwidth…
  • Testing Read Latency…
  • Testing Write Latency…
  • Testing Read Sequential Speed…
  • Testing Write Sequential Speed…
  • Testing Read/Write Mixed…

腾讯云 K8S 集群生产实战

1.kubectl get storageclass

使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

2.vi dbench.yaml

使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

3.kubectl apply -f dbench.yaml

4.kubectl logs -f job/dbench

使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

5.kubectl delete -f dbench.yaml

原文链接:https://mp.weixin.qq.com/s/Jd0vdc0YkEjr37km20RzIA

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟 https://www.kuaiidc.com/94326.html

相关文章

发表评论
暂无评论