• Linux性能测试分析命令_iostat


      iostat用于输出CPU和磁盘I/O相关的统计信息

    iostat语法

    用法:iostat [ 选项 ] [ <时间间隔> [ <次数> ]]

    常用选项说明:

    -c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
    -d:单独输出Device结果,不包括cpu结果
    -k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
    -x:输出更详细的io设备统计信息
    interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

    说明:更多选项使用使用man iostat查看

    常用实例

    1、iostat,结果为从系统开机到当前执行时刻的统计信息

    $ iostat
    Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos)     2017年10月22日  _x86_64_        (4 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               1.49    0.00    0.65    0.29    0.00   97.58
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    vda               3.27         6.38        48.27    7044109   53255704
    vdb               0.00         0.00         0.00        944          0
    vdc              12.22       145.74       120.85  160792201  133326268

    输出含义:

        avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于等待io请求的完成时间。

        Device: 各磁盘设备的IO统计信息。各列含义如下:

    Device: 以sdX形式显示的设备名称
    tps: 每秒进程下发的IO读、写请求数量
    Blk_read/s: 每秒读扇区数量(一扇区为512bytes)
    Blk_wrtn/s: 每秒写扇区数量
    Blk_read: 取样时间间隔内读扇区总数量
    Blk_wrtn: 取样时间间隔内写扇区总数量

    2、iostat -x -k -d 1 2。每隔1S输出磁盘IO的详细详细,总共采样2次。

    $ iostat -x -k  1 2
    Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos)     2017年10月22日  _x86_64_        (4 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               1.49    0.00    0.65    0.29    0.00   97.58
    
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    vda               0.00     6.85    0.67    2.60     6.38    48.27    33.39     0.02    5.72    5.46    5.78   0.27   0.09
    vdb               0.00     0.00    0.00    0.00     0.00     0.00    14.75     0.00    1.55    1.55    0.00   1.55   0.00
    vdc               0.06    14.87    6.91    5.31   145.72   120.84    43.62     0.11    9.04    9.92    7.89   0.89   1.09
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.50    0.00    0.25    0.00    0.00   99.25
    
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    vda               0.00    14.00    0.00    7.00     0.00    84.00    24.00     0.03    3.57    0.00    3.57   0.71   0.50
    vdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
    vdc               0.00     2.00    0.00   27.00     0.00   124.00     9.19     0.32   11.67    0.00   11.67   0.48   1.30

    以上各列的含义如下:

    rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
    wrqm/s: 每秒对该设备的写请求被合并次数
    r/s: 每秒完成的读次数
    w/s: 每秒完成的写次数
    rkB/s: 每秒读数据量(kB为单位)
    wkB/s: 每秒写数据量(kB为单位)
    avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
    avgqu-sz: 平均等待处理的IO请求队列长度
    await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
    svctm: 平均每次IO请求的处理时间(毫秒为单位)
    %util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率

     重点关注参数

    1、iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。

    2、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。

    3、await 表示每次IO请求等待时间,包括等待时间和处理时间

    4、svctm 表示每次IO请求处理的时间

    5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

  • 相关阅读:
    kendoui仪表盘和柱状图 示例
    log4net修改数据库连接字符串和写自定义信息
    为sharepoint的内部页面添加后台代码
    Qt中对QDomDocument和QDomnode的理解
    标准输出中stderr和stdout的区别
    设计一个算法移除字符串中的重复字符,并写出测试用例。
    字符串中单词的逆转,即将单词出现的顺序进行逆转。如将“Today is Friday!”逆转为“Friday! is Today”.
    输入两个很大的正数(用C字符串表示),输出他们的乘积,将设不考虑非法输入。
    微信公众平台的开发过程及其要点
    NR_OPEN 与 NR_FILE 的区别
  • 原文地址:https://www.cnblogs.com/linyfeng/p/7707237.html
Copyright © 2020-2023  润新知