zoukankan      html  css  js  c++  java
  • 使用 FIO 对 Kubernetes 持久卷进行 Benchmark:读/写(IOPS)、带宽(MB/s)和延迟

    工具

    Dbench

    用法

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

      kubectl get storageclasses
      
    2. 部署

      kubectl apply -f dbench.yaml
      
    3. 部署后,Dbench Job 将:

      • 使用 storageClassName: ssd(默认)提供 1000Gi(默认)的持久卷。
      • 在新配置的磁盘上运行一系列 fio 测试。
      • 目前有 9 个测试,每个测试 15 秒 - 总运行时间约为 2.5 分钟。
    4. 使用以下方法跟踪基准测试进度:

      kubectl logs -f job/dbench
      

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

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

      ==================
      = 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
      

      Dbench 摘要结果

      • Random Read/Write IOPS(随机读写)
      • BW(带宽)
      • Average Latency (usec) Read/Write(读/写平均延迟)
      • Sequential Read/Write(顺序读/写)
      • Mixed Random Read/Write IOPS(混合随机读/写)
    6. 测试完成后,进行清理:

      kubectl delete -f dbench.yaml
      

    注意事项/故障排除

    • 如果持久化卷声明(Persistent Volume Claim)卡在 Pending 上,很可能您没有指定有效的存储类(Storage Class)。使用 kubectl get storageclasses 进行双重检查。还要检查用于配置的卷大小是否为 1000Gi(默认值)。
    • 绑定持久性卷可能需要一些时间,Kubernetes Dashboard UIDbench Job 显示为红色,直到卷完成配置。
    • 测试多种磁盘大小很有用,因为大多数云提供商按每 GB 配置的 IOPS 定价。 因此,4000Gi 卷的性能可能将优于 1000Gi 卷。重新测试,只需编辑 yamlkubectl 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

    2. vi dbench.yaml

    3. kubectl apply -f dbench.yaml

    4. kubectl logs -f job/dbench

    5. kubectl delete -f dbench.yaml

    公众号:黑客下午茶
    
  • 相关阅读:
    java数据结构之队列
    java数据结构之线性表
    habase 报错 ERROR: Can't get master address from ZooKeeper; znode data == null
    java.io.IOException: Could not find status of job:job_1534233312603_0002
    windows本地调试安装hadoop(idea) : ERROR util.Shell: Failed to locate the winutils binary in the hadoop binary path
    搭建hadoop_之 创建3个虚拟机配置好网络
    java 数组
    java 中break 和continue 的非常规用法
    java运算符
    java数据类型
  • 原文地址:https://www.cnblogs.com/hacker-linner/p/15337024.html
Copyright © 2011-2022 走看看