欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

fio 对windows linux 进行磁盘测试

程序员文章站 2022-07-12 18:58:32
...
fio测试
顺序写带宽测试
顺序读带宽测试
随机写IOPS测试
随机读IOPS测试
深浅度随机写IOPS&clat&99.90th测试
深浅度随机读IOPS&clat&99.90th测试

主要步骤

  1. fio测试需要在8C8G环境中加入50g大小数据盘;

  2. 顺序写带宽测试;以下指令重复10次观察记录输出的BW=$bw值,取后三次平均值作为最终值(换算成MiB/s)

    1. linux:fio -name seqwrite -filename=$driver --numjobs=1 -ioengine=libaio -direct=1 -group_reporting -bs=1M -iodepth=64 --size=50G -runtime=360 -rw=write --time_based
    2. windows:fio -name seqwrite -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=1M -iodepth=64 --size=50G -runtime=360 -rw=write --time_based
  3. 顺序读带宽测试;测试前需保证待测磁盘已经写满,一般可用顺序写带宽指令跑两遍;以下指令重复10次观察记录输出的BW=$bw值,取后三次平均值作为最终值(换算成MiB/s)

    1. linux:fio -name seqread -filename=$driver --numjobs=1 -ioengine=libaio -direct=1 -group_reporting -bs=1M -iodepth=64 --size=50G -runtime=120 -rw=read --time_based
    2. windows:fio -name seqread -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=1M -iodepth=64 --size=50G -runtime=120 -rw=read --time_based
  4. 随机写IOPS测试;以下指令重复10次观察记录输出的IOPS=$iops值,取后三次平均值作为最终值

    1. linux:fio -name randwrite -filename=$driver --numjobs=1 -ioengine=libaio -direct=1 -group_reporting -bs=4k -iodepth=64 --size=50G -runtime=360 -rw=randwrite --time_based
    2. windows:fio -name randwrite -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=64 --size=50G -runtime=360 -rw=randwrite --time_based
  5. 随机读IOPS测试;测试前需保证待测磁盘已经写满,一般可用顺序写带宽指令跑两遍;以下指令重复10次观察记录输出的IOPS=$iops值,取后三次平均值作为最终值

    1. linux:fio -name randread -filename=$driver --numjobs=1 -ioengine=libaio -direct=1 -group_reporting -bs=4k -iodepth=64 --size=50G -runtime=120 -rw=randread --time_based
    2. windows:fio -name randread -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=64 --size=50G -runtime=120 -rw=randread --time_based
  6. 深度随机写测试;以下指令重复10次观察记录输出的IOPS=iopsclatavg=iops值、clat中avg=avg值、99.90th[$th]值,各取后三次平均值作为最终值(clat值与99.90th值换算成msec)

    1. linux:fio -name randwrite -filename=$driver --numjobs=1 -ioengine=libaio -direct=1 -group_reporting -bs=4k -iodepth=1 --size=50G -runtime=360 -rw=randwrite --time_based
    2. windows:fio -name randwrite -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=1 --size=50G -runtime=360 -rw=randwrite --time_based
  7. 深度随机读测试;测试前需保证待测磁盘已经写满,一般可用顺序写带宽指令跑两遍;以下指令重复10次观察记录输出的IOPS=iopsclatavg=iops值、clat中avg=avg值、99.90th[$th]值,各取后三次平均值作为最终值(clat值与99.90th值换算成msec)

    1. linux:fio -name randread -filename=$driver --numjobs=1 -ioengine=libaio -direct=1 -group_reporting -bs=4k -iodepth=1 --size=50G -runtime=120 -rw=randread --time_based
    2. windows:fio -name randread -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=1 --size=50G -runtime=120 -rw=randread --time_based

attentions

  1. VMware的Linux虚机加载了云盘,但是控制台通过lsblk -l 查看,不显示,解决方法如下:

    1. 安装sg3_utils:yum install sg3_utils
    2. 扫描:rescan-scsi-bus.sh -a
  2. VMware的Windows虚机加载了云盘需要对数据盘进行联机

    1. 在cmd中运行 diskpart

    2. list disk # 查看磁盘状态

    3. select disk $1 # $1是你所选磁盘编号

    4. online disk

      C:\Users\Administrator>diskpart
      Microsoft DiskPart 版本 10.0.14393.0
      Copyright (C) 1999-2013 Microsoft Corporation.
      在计算机上: WIN-QC191MTRFQ8
      DISKPART>
      DISKPART> list disk
        磁盘 ###  状态           大小     可用     Dyn  Gpt
        --------  -------------  -------  -------  ---  ---
        磁盘 0    联机               40 GB      0 B
        磁盘 1    脱机              120 GB   120 GB
      DISKPART> select disk 1
      磁盘 1 现在是所选磁盘。
      DISKPART> online disk
      DiskPart 成功使所选磁盘联机。
      
  3. 不需要对磁盘进行格式化

  4. linux中$driver 使用fdisk -l 来查看

  5. windows 中$driver 使用 wmic diskdrive get deviceid 来查看 一般为‘\.\PHYSICALDRIVE1’

相关标签: 扫描测试工具