zoukankan      html  css  js  c++  java
  • fio测试磁盘性能

    参数说明FIO

    yum install -y libaio libaio-devel fio

    开始测试

    • 随机写IOPS: 
      fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Write_Testing
    • 随机读IOPS: 
      fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
    • 顺序写吞吐量(写带宽): 
      fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Write_PPS_Testing
    • 顺序读吞吐量(读带宽): 
      fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Read_PPS_Testing
    • 随机写时延: 
      fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Write_Latency_Testing
    • 随机读时延: 
      fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=iotest -name=Rand_Read_Latency_Testing

    参数说明

    参数说明
    -direct=1 表示测试时忽略I/O缓存,数据直写。
    -iodepth=128 表示使用异步I/O(AIO)时,同时发出I/O数的上限为128。
    -rw=randwrite 表示测试时的读写策略为随机写(random writes)。其它测试可以设置为:
    • randread(随机读random reads)
    • read(顺序读sequential reads)
    • write(顺序写sequential writes)
    • randrw(混合随机读写mixed random reads and writes)
    -ioengine=libaio 表示测试方式为libaio(Linux AIO,异步I/O)。应用程序使用I/O通常有两种方式:
    • 同步

      同步的I/O一次只能发出一个I/O请求,等待内核完成才返回。这样对于单个线程iodepth总是小于1,但是可以透过多个线程并发执行来解决。通常会用16~32根线程同时工作将iodepth塞满。

    • 异步

      异步的I/O通常使用libaio这样的方式一次提交一批I/O请求,然后等待一批的完成,减少交互的次数,会更有效率。

    -bs=4k 表示单次I/O的块文件大小为4KiB。默认值也是4KiB。
    • 测试IOPS时,建议将bs设置为一个较小的值,如4k。
    • 测试吞吐量时,建议将bs设置为一个较大的值,如1024k。
    -size=1G 表示测试文件大小为1GiB。
    -numjobs=1 表示测试线程数为1。
    -runtime=1000 表示测试时间为1000秒。如果未配置,则持续将前述-size指定大小的文件,以每次-bs值为分块大小写完。
    -group_reporting 表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。
    -filename=iotest 指定测试文件的名称,例如iotest。
    -name=Rand_Write_Testing 表示测试任务名称为Rand_Write_Testing,可以随意设定。
  • 相关阅读:
    JS正则与PHP正则
    关于微信扫码支付的流程
    Jquery快速入门
    phpstorm快捷键大全
    CentOS 7.3 下部署基于 Node.js的微信小程序商城
    一个故事告诉你比特币的原理及运作机制 (转 2013)
    mysql The used table type doesn’t support FULLTEXT indexes 解决方案 (phpstudy 会出现),coten不会
    linux下使用 du查看某个文件或目录占用磁盘空间的大小
    ◆织梦内容管理系统模板标签代码参考
    Linux 下挂载新硬盘方法(转)
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/13425105.html
Copyright © 2011-2022 走看看