iostat 详细说明,系统磁盘IO负载分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq13650793239/article/details/82623938

iostat是I/O statistics(输入/输出统计)的缩写,iostat提供对系统整个磁盘活动统计情况。

iostat用法:iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]

-c:CPU的使用情况;-d:磁盘的使用情况;-k:表示每秒按kilobytes字节显示数据;-t:打印汇报的时间;-v表示打印出版本信息和用法;-x:device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数

root@xx]# iostat  -d -k -t -x 2   
Linux 2.6.32-504.16.2.el6.x86_64 (VM_163_122_centos)    09/11/2018      _x86_64_        (8 CPU)

09/11/2018 12:30:13 PM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.00     1.73    0.09    1.55     0.98    13.11    17.15     0.01    4.94   2.03   0.33
vdb               0.03   393.42    7.15   85.06   289.04  1850.79    46.41     0.42    4.51   0.93   8.54

09/11/2018 12:30:15 PM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
vdb               0.00  2096.50    0.50  115.50     2.00  7408.00   127.76    32.78  260.91   6.44  74.75

09/11/2018 12:30:17 PM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
vda               0.00     0.00    0.00    0.50     0.00     2.00     8.00     0.00    4.00   4.00   0.20
vdb               0.00  1128.00    0.50   23.00     8.00  5566.00   474.38    12.19  578.47  42.34  99.50

rrqm/s:   每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s:  每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s:     每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s:    每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s:      每秒读扇区数。即 delta(rsect)/s
wsec/s:     每秒写扇区数。即 delta(wsect)/s
rkB/s:         每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
wkB/s:        秒写K字节数。是 wsect/s 的一半。(需要计算)
avgrq-sz:       平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz:       均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await:          平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm:          平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util:          一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

上图实例中,util: 接近百分之百,await:IO等待时间也很长,说明磁盘遇到了瓶颈

以上实例为游戏合服过程中出现问题,主要原因有三点: 

1:购买的是腾讯云普通云硬盘

2:自建mysql数据库性能不高

3:合服数据很大

猜你喜欢

转载自blog.csdn.net/qq13650793239/article/details/82623938