zoukankan      html  css  js  c++  java
  • linux 测试磁盘iops 方法详解

    一、FIO安装 
    wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz 
    yum -y install libaio-devel 
    tar -zxvf fio-2.0.7.tar.gz 
    cd fio-2.0.7 
    make  && make install 
     
    二、随机读测试:
    [root@localhost ~]# fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=15G -numjobs=20 -runtime=60 -group_reporting -name=mytest
    说明: 
    filename=/dev/sdb1   测试文件名称,通常选择需要测试的盘的data目录。 
    direct=1     测试过程绕过机器自带的buffer。使测试结果更真实。 
    rw=randwrite   测试随机写的I/O 
    rw=randrw   测试随机写和读的I/O 
    bs=16k   单次io的块文件大小为16k 
    bsrange=512-2048   同上,提定数据块的大小范围 
    size=5g   本次的测试文件大小为5g,以每次4k的io进行测试。 
    numjobs=30   本次的测试线程为30. 
    runtime=1000   测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。 
    ioengine=psync io  引擎使用pync方式 
    rwmixwrite=30      在混合读写的模式下,写占30% 
    group_reporting   关于显示结果的,汇总每个进程的信息。 
    此外 
    lockmem=1g     只使用1g内存进行测试。 
    zero_buffers     用0初始化系统buffer。 
    nrfiles=8        每个进程生成文件的数量。 
     
     
     
    顺序读: 
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 
    随机写: 
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 
    顺序写: 
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest 
    混合随机读写: 
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop 
     
     
     
    测试吞吐量
    yum -y install hdparm
    hdparm -Tt --direct /dev/sdb1  #红色部分可改
    释义:
    -t 评估硬盘的读取效率。
    -T 评估硬盘快取的读取效率。





    欢迎加入QQ群一起讨论Linux、开源等技术




  • 相关阅读:
    来自Jakob Jenkov的Jackson教程
    Linux查看某个端口的连接数
    Linux查看某个进程的线程
    Jackson反序列JSON为实体对象出现:no String-argument constructor/factory method to deserialize from String value的问题
    软路由OpenWrt教程收集(插件开发教程,opkg安装软件教程)
    软路由系统收集
    Linux防止“rm -rf /”误删除
    Mac 10.12原生方法对NTFS分区进行读写的配置
    Linux下进行Web服务器压力(并发)测试工具http_load、webbench、ab、Siege、autobench简单使用教程(转)
    微服务实施Spring Boot/Spring Cloud中踩过的坑(转)
  • 原文地址:https://www.cnblogs.com/smlile-you-me/p/11937752.html
Copyright © 2011-2022 走看看