iostat中的%util指标说明

判断磁盘极限性能误区:只通过iostat 中的 %util 指标确定磁盘是否达到带宽或iops极限

平桂ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

 

背景:

    在判断磁盘是否达到极限性能时,总有人通过 iostat -x 中的 %util 指标来确认磁盘是否带宽带宽或IOPS瓶颈,其实这是不对的,特做如下说明:

结论:

    iostat 中的 %util 基本已经没有任何作用了,svctm也没什么参考意义

    磁盘是否达到真正极限瓶颈,需要参考通过fio等工具压测出的极限带宽和IOPS值

%util与硬盘设备饱和度

    %util表示该设备有I/O(即非空闲)的时间比率,不考虑I/O有多少,只考虑有没有。

    由于现代硬盘设备都有并行处理多个I/O请求的能力,所以%util即使达到100%也不意味着设备饱和了。

    举个简化的例子:某硬盘处理单个I/O需要0.1秒,有能力同时处理10个I/O请求,那么当10个I/O请求依次顺序提交的时候,需要1秒才能全部完成,在1秒的采样周期里%util达到100%;而如果10个I/O请求一次性提交的话,0.1秒就全部完成,在1秒的采样周期里%util只有10%。可见,即使%util高达100%,硬盘也仍然有可能还有余力处理更多的I/O请求,即没有达到饱和状态。

    那么iostat(1)有没有哪个指标可以衡量硬盘设备的饱和程度呢?很遗憾,没有。

参考文章:

【1】容易被误读的IOSTAT:http://linuxperf.com/?p=156

【2】深入理解iostat:https://bean-li.github.io/dive-into-iostat/


分享名称:iostat中的%util指标说明
标题URL:http://scyanting.com/article/jhdoso.html