美文网首页
测试磁盘IO瓶颈

测试磁盘IO瓶颈

作者: 橡皮24 | 来源:发表于2018-10-17 20:23 被阅读133次

    一、简介

      由于最近压测kafka的吞吐量,发现优化kafka的时候并没有提升吞吐量。所以怀疑是服务器本身的瓶颈。于是做了服务器的IO瓶颈测试。
      硬盘位正常SATA磁盘,做的raid1.

    二、测试

    1、 测试磁盘写入IO瓶颈

    (1)使用以下命令
    # sync;time -p bash -c "(dd if=/dev/zero of=test bs=1M count=20000)"
    

    解释:在当前目录下创建一个test的文件,写入20000个1M的数据。

    (2)同时使用iostat命令监测磁盘io情况。

    使用命令

    # iostat -x 1
    

    解释:扩展查看io性能,每1秒钟刷新一次。

    注意:如果没有iostat。请执行yum install sysstat –y命令进行安装iostat命令

    (3)输出结果

    关注wkB/s和%util两个参数

    wkB/s:每秒写入设备的数据量(单位:KB)

    %util:消耗在I/O请求中的CPU时间百分比(设备带宽利用率)。如果该值接近100%说明设备出现了瓶颈。

    # sync;time -p bash -c "(dd if=/dev/zero of=test.dd bs=1M count=20000)"
    
    记录了20000+0 的读入
    
    记录了20000+0 的写出
    
    20971520000字节(21 GB)已复制,221.314 秒,94.8 MB/秒
    
    real 221.67
    
    user 0.01
    
    sys 21.20
    

    磁盘写入IO为94.8 MB/秒

    2、 测试磁盘IO读取瓶颈

    (1)使用以下命令
    # hdparm -tT --direct /dev/sda
    

    解释:hdparm命令是显示与设定硬盘的参数。-t参数为评估硬盘的读取效率(不经过磁盘cache)。-T参数为评估硬盘的读取效率(经过磁盘cache)

    注意:如果没有hdparm命令可以直接yum –y install hdparm即可

    (2)使用iostat命令监测磁盘io情况。

    使用命令

    # iostat -x 1
    
    (3)输出结果
    # hdparm -tT --direct /dev/sda
    
    /dev/sda:
    
     Timing O_DIRECT cached reads: 326 MB in 2.00 seconds = 162.83 MB/sec
    
     Timing O_DIRECT disk reads: 322 MB in 3.01 seconds = 106.88 MB/sec
    

    解释:经过磁盘cache的磁盘读取为162.83 MB/sec

    未经过磁盘cache的磁盘读取为106.88 MB/sec

    3、 直接测试IO是否到达瓶颈

    可以在大量写入数据或者大量读取数据的时候直接使用iostat命令去查看磁盘IO是否达到瓶颈。在大量读写操作时直接使用iostat –x 1查看

    关注wkB/s和%util两个参数
    wkB/s:每秒写入设备的数据量(单位:KB)
    %util:消耗在I/O请求中的CPU时间百分比(设备带宽利用率)。如果该值接近100%说明设备出现了瓶颈。

    相关文章

      网友评论

          本文标题:测试磁盘IO瓶颈

          本文链接:https://www.haomeiwen.com/subject/vaxdzftx.html