当前位置: 首页 > 科技观察

BenchmarkingKubernetesPersistentVolumeswithFIO-Read-Write(IOPS),Bandwidth(MB-s),andLatency

时间:2023-03-13 14:05:03 科技观察

转载本文请联系黑客下午茶公众号。工具Dbenchhttps://github.com/leeliu/dbench使用方法1.编辑dbench.yaml文件中的storageClassName,匹配自己的StorageClass。kubectlgetstorageclasses2.部署kubectlapply-fdbench.yaml3.部署后,DbenchJob将:使用storageClassName:ssd(默认)提供1000Gi(默认)的持久卷。在新配置的磁盘上运行一系列fio测试。目前有9个测试,每个测试15秒-总运行时间约为2.5分钟。4.使用以下方式跟踪基准测试进度:kubectllogs-fjob/dbench空输出表示尚未创建作业,或者storageClassName无效,请参阅下面的故障排除。5.在所有测试结束时,您将看到类似于以下内容的摘要:=====================DbenchSummary===================RandomRead/WriteIOPS:75.7k/59.7k.BW:523MiB/s/500MiB/sAverageLatency(usec)Read/Write:183.07/76.91SequentialRead/Write:536MiB/s/512MiB/sMixedRandomRead/WriteIOPS:43.1k/14.4kDbench汇总结果RandomRead/WriteIOPS(随机读写)BW(bandwidth)AverageLatency(usec)Read/Write(读/写平均延迟)SequentialRead/Write(顺序读写)MixedRandomRead/WriteIOPS(mixedrandomread/write)6.测试完成后,清理:kubectldelete-fdbench.yamlNotes/Troubleshooting如果PersistentVolumeClaim(持久卷声明)卡在Pending,很可能是你没有指定有效的存储类(StorageClass)。使用kubectlgetstorageclasses仔细检查。还要检查用于配置的卷大小是否为1000Gi(默认值)。绑定持久卷可能需要一些时间,Kubernetes仪表板UI将以红色显示Dbench作业,直到卷完全配置为止。测试多个磁盘大小很有用,因为大多数云提供商以每千兆字节配置的IOPS定价。因此,4000Gi卷的性能可能优于1000Gi卷。要重新测试,只需编辑yaml,kubectldelete-fdbench.yaml并在取消配置/删除完成后再次运行kubectlapply-fdbench.yaml。fio测试的所有项目都在docker-entrypoint.sh中。测试读取IOPS...测试写入IOPS...测试读取带宽...测试写入带宽...测试读取延迟...测试写入延迟...测试读取顺序速度...测试写入顺序速度...测试读/写混合...腾讯云K8S集群生产实战1.kubectlgetstorageclass2.vidbench.yaml3.kubectlapply-fdbench.yaml4.kubectllogs-fjob/dbench5.kubectldelete-fdbench.yaml