Red Hat Training

A Red Hat training course is available for RHEL 8

4.6. 测试混合 I/O 加载对 VDO 性能的影响

此测试决定了您的 VDO 配置在混合读和写 I/O 加载时的情况,并分析混合读取和写入在最优的随机队列深度和请求大小从 4KB 到 1 MB 时的影响。

这个过程使用固定 I/O 深度执行四级测试,块大小在 8 KB 到 256 KB 的范围内,读的百分比以 10% 增加,从 0% 开始。

先决条件

流程

  1. 创建一个新的 VDO 卷。

    详情请查看 第 4.2 节 “创建用于性能测试的 VDO 卷”

  2. 通过对测试卷执行写 fio 作业来预先填充测试可能会访问的区域:

    # fio --rw=write \
          --bs=8M \
          --name=vdo \
          --filename=/dev/mapper/vdo-test \
          --ioengine=libaio \
          --thread \
          --direct=1 \
          --scramble_buffers=1
  3. 记录所报告用于读取和写入输入的吞吐量和延迟时间:

    # for readmix in 0 10 20 30 40 50 60 70 80 90 100; do
        for iosize in 4 8 16 32 64 128 256 512 1024; do
          fio --rw=rw \
              --rwmixread=$readmix \
              --bs=${iosize}k \
              --name=vdo \
              --filename=/dev/mapper/vdo-test \
              --ioengine=libaio \
              --numjobs=1 \
              --thread \
              --norandommap \
              --runtime=300 \
              --direct=0 \
              --iodepth=optimal-depth \
              --scramble_buffers=1 \
              --offset=0 \
              --size=100g
        done
      done
  4. 删除 VDO 测试卷。

    详情请查看 第 4.3 节 “清理 VDO 性能测试卷”

  5. 图形化测试结果。

    例 4.3. 混合 I/O 负载分析

    以下镜像演示了 VDO 如何响应混合 I/O 负载的示例:

    图 4.4. 在不同读取和写入混合之间性能一致

    在不同读取和写入混合之间性能一致

    在读和写混合的范围内聚合性能和聚合延迟相对一致,趋势从较低的最大写吞吐量到较高的最大读吞吐量。

    此行为可能因不同的存储而异,但重要的观察是,性能在不同的负载下是一致的,或者您可以了解对演示特定的读写混合的应用程序的性能期望。

    注意

    如果您的系统没有显示类似的响应一致性,这可能代表还不是最佳配置。如果出现这种情况,请联络您的红帽销售工程师。