工作中发现一个fio问题,测试组测试出来的数据read速度一个是17.0G/s,一个是13.2G/s。要知道我后台只有24块7.2k RPM的机械硬盘啊!怎么也不可能有这样的速度。

回家之后我模拟了实际情况,结果重现了这个情况:

首先执行fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=1M -size=20G -numjobs=50 -runtime=60 -group_reporting -name=sqe_100write
测得结果WRITE: bw=81.8MiB/s (85.7MB/s), 81.8MiB/s-81.8MiB/s (85.7MB/s-85.7MB/s), io=4948MiB (5188MB), run=60523-60523msec
注意:fio write仅写入4948MiB,结果正常。
然后执行fio -filename=/tmp/test -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=1M -size=20G -numjobs=50 -runtime=60 -group_reporting -name=sqe_100read
前33s read速度约为200M/s,之后速度飙升至10GB/s,最终结果达到6354MiB/s。【我现在的内存就是DDR3-800,带宽就是6.4GB/s】
结果为什么错误?
因为第一次执行fio的时候已经write了/tmp/test文件,但是仅写入了4948MiB,然后我偷懒,直接使用这个文件进行fio read测试。fio检查文件存在并且大小合适,所以fio read首先读取了4948MiB,剩下的就不知道从哪里读取了!可能从内存!所以得到的结果炒鸡高,偏离了实际数据。

实际上执行fio -filename=/tmp/newfile -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=1M -size=20G -numjobs=50 -runtime=60 -group_reporting -name=sqe_100read

时,最好是不存在/tmp/newfile这个文件,此时fio会先自己生成/tmp/newfile文件然后测试,数据是准确的。

记录问题,以后避免。

FIO read测试结果偏离的更多相关文章

  1. FIO是测试IOPS

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...

  2. 使用FIO工具测试块存储性能

    Linux实例和Windows实例都推荐使用FIO工具测试块存储性能.   说明 您也可以使用其他工具测试块存储性能,但不同工具测试出来的硬盘基准性能会有差异,如dd.sysbench.iometer ...

  3. fio 硬盘测试工具

    一.windows环境 1. 安装fio:http://www.bluestop.org/fio/ 可以选择不同版本的安装,安装后在C:\Program Files\fio目录中可以找到fio的执行程 ...

  4. FIO 测试磁盘iops 以及读写

    最近在做mariadb的性能,感觉io 有瓶颈,就使用fio 来测试一下磁盘.下文为转载文章(温馨提示:此命令很伤硬盘,测试前请备份数据,- -我就写坏了一个.) FIO 是测试IOPS的非常好的工具 ...

  5. linux使用FIO测试磁盘的iops 【转载】

     linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括 ...

  6. linux使用FIO测试磁盘的iops

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...

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

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

  8. 使用FIO测试磁盘iops

    我们如何衡量一个存储的性能呢?IOPS(Input/Output OperationsPer Second),即每秒进行读写(I/O)操作的次数是国际上通用的存储性能衡量标准,IOPS越高意味着在同一 ...

  9. FIO测试磁盘的iops

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, ...

随机推荐

  1. 微信小程序插件开发

    小程序插件功能介绍 插件,是可被添加到小程序内直接使用的功能组件.开发者可以像开发小程序一样开发一个插件,供其他小程序使用.同时,小程序开发者可直接在小程序内使用插件,无需重复开发,为用户提供更丰富的 ...

  2. 【linux】使用swap文件恢复非正常关闭的文件

    前言 使用vim的时候,文件编辑过程中可能会出现bug,导致非正常关闭.为了保存刚刚修改的内容,需要对文件进行恢复. 操作过程 1.查看目录文件 zrj@zrj-ThinkPad-E470:~/wor ...

  3. Tensorflow中的滑动平均模型

    原文链接 在Tensorflow的教程里面,使用梯度下降算法训练神经网络时,都会提到一个使模型更加健壮的策略,即滑动平均模型. 基本思想 在使用梯度下降算法训练模型时,每次更新权重时,为每个权重维护一 ...

  4. HDOJ 1061 Rightmost Digit

    找出数学规律 原题: Rightmost Digit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Ja ...

  5. Tomcat:Several ports are already in use问题

    Several ports (8005, 8080, 8009) required by Tomcat v6.0 Server at localhost are already in use. The ...

  6. ballerina 学习 三十一 扩展开发(二)

    上篇说了使用ballerina 语言开发扩展模块,对于注解类型的我们是需要使用java 语言进行 开发的 官方提供了一个hello 的demo可以参考 https://github.com/balle ...

  7. sql serve 创建序列

    Oracle中有sequence的功能,SQL Server类似的功能使用Identity列实现,但是有很大的局限性. 在2012中,微软终于增加了 sequence 对象,功能和性能都有了很大的提高 ...

  8. 可靠的推送IM消息

    一.      报文类型: 1.请求报文(request,后简称为为R): 2.应答报文(acknowledge,后简称为A): 3.通知报文(notify,后简称为N). R:客户端主动发送给服务器 ...

  9. Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复

    Oracle RAC 中OCR 和Voting Disk 备份在我的blog: Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和Voting D ...

  10. tomcat和servlet关系

    https://blog.csdn.net/weixin_30531261/article/details/78574410 图不错:https://www.cnblogs.com/fengli999 ...