fio 对windows linux 进行磁盘测试

本文介绍了如何使用fio工具在8C8G环境下,针对50GB数据盘进行磁盘性能测试。详细说明了在Linux和Windows上进行顺序读写带宽测试和随机读写IOPS测试的命令,以及测试前的准备和注意事项,包括磁盘的联机操作和查看方法。
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=iops值、clat中avg=iops值、clat中avg=iopsclatavg=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=iops值、clat中avg=iops值、clat中avg=iopsclatavg=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’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值