fio 对windows linux 进行磁盘测试
主要步骤
-
fio测试需要在8C8G环境中加入50g大小数据盘;
-
顺序写带宽测试;以下指令重复10次观察记录输出的BW=$bw值,取后三次平均值作为最终值(换算成MiB/s)
- 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
- windows:fio -name seqwrite -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=1M -iodepth=64 --size=50G -runtime=360 -rw=write --time_based
-
顺序读带宽测试;测试前需保证待测磁盘已经写满,一般可用顺序写带宽指令跑两遍;以下指令重复10次观察记录输出的BW=$bw值,取后三次平均值作为最终值(换算成MiB/s)
- 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
- windows:fio -name seqread -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=1M -iodepth=64 --size=50G -runtime=120 -rw=read --time_based
-
随机写IOPS测试;以下指令重复10次观察记录输出的IOPS=$iops值,取后三次平均值作为最终值
- 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
- windows:fio -name randwrite -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=64 --size=50G -runtime=360 -rw=randwrite --time_based
-
随机读IOPS测试;测试前需保证待测磁盘已经写满,一般可用顺序写带宽指令跑两遍;以下指令重复10次观察记录输出的IOPS=$iops值,取后三次平均值作为最终值
- 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
- windows:fio -name randread -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=64 --size=50G -runtime=120 -rw=randread --time_based
-
深度随机写测试;以下指令重复10次观察记录输出的IOPS=avg值、99.90th[$th]值,各取后三次平均值作为最终值(clat值与99.90th值换算成msec)
- 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
- windows:fio -name randwrite -filename=$driver --numjobs=1 -direct=1 -group_reporting -bs=4k -iodepth=1 --size=50G -runtime=360 -rw=randwrite --time_based
-
深度随机读测试;测试前需保证待测磁盘已经写满,一般可用顺序写带宽指令跑两遍;以下指令重复10次观察记录输出的IOPS=avg值、99.90th[$th]值,各取后三次平均值作为最终值(clat值与99.90th值换算成msec)
- 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
- 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
-
VMware的Linux虚机加载了云盘,但是控制台通过lsblk -l 查看,不显示,解决方法如下:
- 安装sg3_utils:yum install sg3_utils
- 扫描:rescan-scsi-bus.sh -a
-
VMware的Windows虚机加载了云盘需要对数据盘进行联机
-
在cmd中运行 diskpart
-
list disk # 查看磁盘状态
-
select disk $1 # $1是你所选磁盘编号
-
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 成功使所选磁盘联机。
-
-
不需要对磁盘进行格式化
-
linux中$driver 使用fdisk -l 来查看
-
windows 中$driver 使用 wmic diskdrive get deviceid 来查看 一般为‘\.\PHYSICALDRIVE1’
上一篇: 测试工具研发_GUI窗口(1)
下一篇: 测试工具2