性能检测工具学习之iostat

性能检测工具学习之iostat

前言

在前面的文章我们介绍了vmstat性能检测工具,他的数据范围还是很全面的,包括了process , memory , swap , io , system ,  cpu.这几种类型.但是每一个类型的检测信息并不很全面,他只能提供一个大范围的检测,让你定位问题的大致方向.比如说我们通过了vmstat知道了当前io比较高. 但是具体io的信息我们不得而知,所以今天和大家学习这款iostat工具,他能够为你提供当前磁盘io的整体详细信息.

功能与不足

优点:能够查看磁盘io的整体详细信息.

缺点:信息仍然是整体的,而不是某个进程的.

命令安装

网上看到说系统默认没有安装这个工具,工具这些东西有时候系统版本不同,包含的也不同.但是无所谓用这个方法安装即可.

  1. yum provides */iostat   (查看iostat命令是哪个安装包)

yum install  sysstat-10.1.5-17.el7.x86_64 -y  

命令用法和参数

格式:

iostat 参数  时间(秒)  次数

参数:

-c  显示cpu的使用情况

-d   显示磁盘使用情况

-k    以k为单位显示

-m    以m为单位显示

-N    显示磁盘阵列LVM的信息

-n     显示nfs的使用情况

-p     报告每快磁盘每个分区的使用情况

-t      显示终端和cpu的信息

-x      显示详细信息

常用命令

刚才我们也看到了参数也不少,但是学任何命令都是一样的,很多参数一般不常用,上面标红色的参数我认为是有意义的.其他那几个参数只是为了单独显示某个指标,看着更简洁而以.

  • 单独执行iostat   1 3  (这个信息已经比较全面了,cpu和磁盘io指标都有)

cpu类:

%user : cpu在用户模式下的时间百分比

%nice  : cpu处在带NICE值的用户模式下的时间百分比

%system : cpu处在系统模式下的时间百分比

%iowait : cpu等待输入输出完成的时间百分比

%steal : 虚拟cpu无意识等待时间百分比

%idle : cpu 空闲时间百分比

参数解释

cpu是按照时间片轮转来分配时间的,上述标红的是重点需要分析的.

1.%user一般是我们程序占用的时间百分比.如果us值长期大于百分之50则需要优化程序或算法

2.%system主要是内核调用时间百分比.二者比例在7比3的时候据说可以发挥最大威力. 如果us +sy值大于百分之80则存在cpu资源不足情

3. %iowait如果过高,证明磁盘io存在瓶颈,赢考虑提高磁盘读写性能,一般参考值为20%

4. %idle是cpu空闲时间不繁忙时候一般都是90多.

io类:

tps  : 每秒处理事务数,包括了请求服务器->服务器处理->返回用户这个过程,每秒能返回多少个这样的过程就是多少哥tps (常被问的就是tps和qps的区别,当我们访问一个页面,就形成一个tps,但是一次页面请求,可能多次对服务器请求,这些请求总计为qps)

KB_read/s : 每秒从磁盘读取数据大小   

KB_wrtn/s : 每秒从磁盘写入数据的大小

KB_read:从磁盘读出的数据总数,单位是kb

KB_wrtn:写入磁盘的数据总数

备注:可以使用 -m参数 ,以m为单位来显示

  • iostat -m 

对于显示磁盘读写数据总量,看着更优好一些.

  • iostat -x 

-x 参数  提供了更加详细的输出信息

贴个图:

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Loading...