一、windows环境

1. 安装fio:http://www.bluestop.org/fio/ 可以选择不同版本的安装,安装后在C:\Program Files\fio目录中可以找到fio的执行程序和相应的文档。fio.exe 会自动 加入环境变量中

2. 使用

找到要测试的磁盘的序号:

powershell 输入 diskpart进入磁盘工具

list  disk  显示所以的磁盘编号

选择没有分区的磁盘(fio 在qwindows上只能测试没有分区的磁盘)

所有我们选择  disk 1 进行测试

测试脚本

 fio  --name=test --rw=randrw --direct=1 --iodepth=8  --blocksize=1024k  --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=1 --refill_buffers --norandommap --randrepeat=0 --rwmixread=0 --group_reporting --runtime=600 --thread   

各参数的含义

--name 为测试起一个名字

--rw 读写的形式  --rw=write  连续写 --rw=randwrite  随机写  --rw=read  连续读 --rw=randread  随机读  --rw=randrw  随机读写 取决于后面的读写比例

--direct=1   1 表示不使用缓存

--iodepth=8  每个测试线程的队列深度

--blocksize  io的大小

--ioengine=windowsaio IO引擎是Windows的异步IO引擎

--filename=\\.\PhysicalDrive1  这里就是我们要测试的磁盘

--numjobs=1 同时测试的线程数量(这个值乘以上面的iodepth就是对磁盘产生的实际队列深度,这里1X8,所以实际队列深度为8)

--refill_buffers 这个选项告诉fio将在每次submit之后都会将重新填满IO buffer。否则fio会在初始时填满,以后重复利用

--norandommap 般情况下,fio在做随机IO时,将会覆盖文件/磁盘的每一个block。如果这个选项设置的话,fio将只是获取一个新的随机offset,而不会查询过去的历史。这意味着一些块可能没有读或写,一些块可能要读/写很多次。

--randrepeat=0 对于随机IO负载,配置生成器的种子,使得路径是可以预估的,使得每次重复执行生成的序列是一样的。

--rwmixread=0  随机读写的读写比率。0,表示100%写,这个值设置为100 表示百分百读

--group_reporting   报道结果

--runtime=600  测试的时间

--thread   由于使用了多线程 所以要加上这个参数

从上面的报告可以看出,IOPS平均值为 153 带宽利用率 为 162Mb/s  56.87%的延时在50ms

例子

 全盘1024KB随机读
fio --name=test --rw=randrw --direct=1 --iodepth=8 --blocksize=1024k --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=8 --refill_buffers --norandommap --randrepeat=0 --rwmixread=100 --group_reporting --runtime=180 --thread
全盘128KB连续读
fio --name=test --rw=read --direct=1 --iodepth=8 --blocksize=128k --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=8 --group_reporting --runtime=1800 --thread
全盘128KB连续写
fio --name=test --rw=write --direct=1 --iodepth=8 --blocksize=128k --ioengine=windowsaio --filename=\\.\PhysicalDrive1 --numjobs=8 --group_reporting --runtime=1800 --thread

完整的使用请看 安装目录下的参考文档 HOWTO

二、linux环境

centos 下安装

yum  install  -y fio

fio 硬盘测试工具的更多相关文章

  1. 硬盘测试工具fio用法总结

    一  fio介绍 linux下的一种常用的磁盘测试工具,支持裸盘和文件形式进行测试   二  硬盘测试常用名词 延迟:io的发起到返回写入成功的时间成为延迟,fio中延迟分为lat,slat,clat ...

  2. SSD固态硬盘测试工具收集(持续更新)

    https://www.crsky.com/zhuanti/gutaiyingpanceshi.html https://www.crsky.com/zhuanti/ssdjiance.html ht ...

  3. 硬盘性能测试工具fio

    如何衡量云硬盘的性能 IOPS:每秒读/写次数,单位为次(计数).存储设备的底层驱动类型决定了不同的 IOPS. 吞吐量:每秒的读写数据量,单位为MB/s. 时延:IO操作的发送时间到接收确认所经过的 ...

  4. 云硬盘性能测试工具FIO介绍

    一.云硬盘的性能衡量指标 云硬盘的性能指标一般通过以下几个指标进行衡量 IOPS:每秒的读写次数,单位为次(计数).存储设备的底层驱动类型决定了不同的IOPS 总IOPS:每秒执行的I/O操作总次数 ...

  5. linux 磁盘IO测试工具:FIO (同时简要介绍dd工具测试)

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证.磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类. 目前主流的第三方IO测试工具有fio.iomete ...

  6. IOPS 测试工具 FIO

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎. fio-2.8下载: wget http://brick.kernel.dk/snaps/fio-2.8 ...

  7. fio硬盘压力测试

    fio测试工具支持同步(pread/pwrite)和异步(libaio)FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, lib ...

  8. 转://linux下的CPU、内存、IO、网络的压力测试工具与方法介绍

    转载地址:http://wushank.blog.51cto.com/3489095/1585927 一.对CPU进行简单测试: 1.通过bc命令计算特别函数 例:计算圆周率 echo "s ...

  9. 转载: 一、linux cpu、内存、IO、网络的测试工具

    来源地址: http://blog.csdn.net/wenwenxiong/article/details/77197997 记录一下 以后好找.. 一.linux cpu.内存.IO.网络的测试工 ...

随机推荐

  1. 批量升级 CentOS bash

    #! /usr/bin/env python #coding=utf-8   from fabric.api import * from fabric.state import *   env.rol ...

  2. 06 saltstack生产实例-需求

    https://github.com/unixhot/saltbook-code .Cobbler 1.15 统一网卡名 .Zabbix 系统已经安装好了! base .手动实现 .需要使用salt的 ...

  3. 【leetcode】1275. Find Winner on a Tic Tac Toe Game

    题目如下: Tic-tac-toe is played by two players A and B on a 3 x 3 grid. Here are the rules of Tic-Tac-To ...

  4. Prism框架中View与Region关联的几种方式

    Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...

  5. TCP 之 FIN_WAIT_2状态处理流程

    概述 在主动关闭方发送了FIN之后,进入FIN_WAIT_1状态,在此状态收到了ACK,则进入FIN_WAIT_2状态,而FIN_WAIT_2后续要做的工作是等待接收对端发过来的FIN包,并且发送AC ...

  6. H264之基础篇

    1. H264 基础概念 在 H.264/AVC 视频编码标准中,整个系统框架划分为如下两个层面: 视频编码层(VCL):VCL 数据即被压缩编码后的视频数据序列,负责有效表示视频数据的内容: 网络抽 ...

  7. [转]基于java的程序OutOfMemory问题的解决及Xms/Xmx/Xss的解释和应用

    长期以来一直都是做java应用的开发,所使用的开发工具基本上也都是基于java的,经常用的有eclipse, netbeans, ant, maven, cruisecontrol, tomcat, ...

  8. tp5 模型中 关联查询(省去了foreach写法)

    1.控制器中 $list = Userlawsbook::where($where)->with('lawsbook')->paginate(7);  // 此处查出来为数组对象 dump ...

  9. vxWorks下常用的几种延时方法

         在应用编程的时候,通常会碰到需要一个任务在特定的延时之后执行一个指定的动作,如等待外设以确保数据可靠,控制扬声器发声时间以及串口通信超时重发等.这就需要利用定时器机制来计量特定长度的时间段. ...

  10. Laravel find in set排序

    做项目遇到个需求,需要对结果集中的数据进行指定规则的顺序排列.例如,用户状态有四种: 0=>未激活:1=>正常:2=>禁用:3=>软删除 现在的需求是,我要按照:正常-> ...