IO的各指标计算方法(参考iostat)

关于IO的各项指标,基本上从文件/proc/diskstats文件获取就可以了,所以首先简单介绍下该文件的各个域。

   8       0 sda 404401 41618 43058034 767156 76322193 498634263 4599837328 2847411684 0 340610149 2848016085

这是从我用的服务器上的/proc/diskstats中选择的一条,从前往后,各个域为:

major:设备的主ID号

minor:设备的辅ID号

dev_name:设备名

rd_ios:读完成的次数

rd_merges:读取合并的次数,为了效率可能会合并相邻的读和写

rd_sectors:读取的扇区数

rd_ticks:读花费的毫秒数

wr_ios:写完成的次数

wr_merges:写合并的次数,为了效率可能会合并相邻的读和写

wr_sectors:写的扇区数,写成功的总得扇区数

wr_ticks:写花费的毫秒数

ios_pgr:正在处理的IO数

tot_ticks:输入/输出操作花费的毫秒数

rq_ticks:与ios_pgr相关,表示加权的毫秒数,就是说当前队列中的io请求数乘以经过的毫秒数,所以想要获取平均队列长度,只需要该值除以经过的毫秒数,举个例子:在超市排队买东西,后面10个人等待第一个人付钱,第一个人花了1分钟付钱,那么这10个人总花费的时间是1*10=10分钟。也就是说它计算的是时间与当前等待个数的乘积。

在我使用的服务器上的iostat -xm的打印内容包含如下指标,其中svctm在新的iostat中已经废除了,所以之后不会讨论该域,大体的计算方法为两次读取/proc/diskstats,计算两次读取的差值除以两次读取的时间的,具体计算方法如下:

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util

rrqm/s:每秒合并的读操作次数,计算方法:两次读取rd_merges的差值,除以两次读取的时间间隔

wrqm/s:每秒合并的写操作次数,计算方法:两次读取wr_merges的差值,除以两次读取的时间间隔

r/s:每秒的读次数,计算方法:两次读取rd_ios的差值,除以两次读取的时间间隔

w/s:每秒的写次数,计算方法:两次读取wr_ios的差值,除以两次读取的时间间隔

rMB/s:以兆为单位,每秒读的MB字节数,计算方法:两次读取rd_sectors的差值,除以两次读取的时间间隔,再除以2048(2*1024,因为rd_sectors是扇区单位,一个扇区一般为512字节,除以2为KB,再除以1024为MB)

wMB/s:以兆为单位,每秒写的MB字节数,计算方法:参考rMB/s

avgrq-sz:在新版本的iostat中,该域为arqsz,平均请求的大小,计算方法:两次读取的rd_sectors和wr_sectors的和的差值除以两次读取的rd_ios和wr_ios的和的差值

avgqu-sz:在新版本的iostat中,该域为aqu_sz,平均队列长度,计算方法:两次读取的rq_ticks的差值除以两次读取时间间隔的毫秒数

await:平均每次读写花费的时间(ms),计算方法:两次读取的rd_ticks的差值加上两次读取的wr_ticks的差值,除以两次读取的rd_ios和wr_ios差值的和

r_await:每次读花费的时间(ms),计算方法参考await,只计算rd_ticks和rd_ios

w_await:每次写花费的时间(ms) ,计算方法参考await,只计算wr_ticks和wr_ios

util:设备的带宽利用率,即IO读写时间占总时间的比例,计算方法:两次读取的tot_ticks的差值除以两次读取的时间间隔

 

关于上面各域的特殊说明:

util:该域没有考虑磁盘的并发能力,所以当磁盘有并发能力时,该值为100%时无法代表磁盘处理能力饱和,所以该值往往不能当作磁盘性能瓶颈的参考

await:不仅包括硬盘设备读操作的时间,也包括在内核队列中的时间

个人理解:io的繁忙程度,主要查看await和avgqu-sz(aqu_sz),await表示的是io请求的服务加等待时间,而aqu_sz表示的是等待队列的长度,所以await本身应该也是受aqu_sz影响的,这两个值越大,表示当前的io越繁忙,而util和已经被废弃的svctm指标应该没有太大作用,因为util并没有考虑磁盘的并行处理能力

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值