美文网首页程序员
I/O请求的队列指标

I/O请求的队列指标

作者: 皮皮卡卡丘 | 来源:发表于2019-01-03 14:15 被阅读346次

    当磁盘I/O请求的数量超过I/O设备的处理能力时,或者当磁盘调度算法需要累计一定的I/O请求时,都会导致I/O请求的排队。I/O请求的队列长度常用来发现存储设备的读写瓶颈。其中用到比较多的两种指标分别是:Average Queue Length和Average Busy Queue Length。这两者常用于描述当前存储设备的使用状态。

        Average Queue Length是指存储设备一段时间内的平均队列长度,也就是求得一段时间,不同观察数值的平均值。

        Average Busy Queue Length是指存储设备处于忙碌状态时的平均队列长度,也就是求得一段时间内,队列长度不等于0的观察点的均值。

         这两种指标的计算过程示意图如下所示:

    一个时间窗内的观察点的状态

        图中的横轴表示一个时间窗,横轴上的每个小箭头都表示一个观察点。纵轴表示在每个观察点时刻,I/O请求的队列状态。此时Average Busy Queue Length 以及 Average Queue Length 的计算公式如下:

        Average Queue Length = 6 + 0 + 0 + 4 + 4 + 4 + 0 + 0 + 0 + 0 ) / 10 = 1.8 (10个观察点数据的均值)

        Average Busy Queue Length = (6 + 4 + 4 + 4) / 4 = 4.5 (非0观察点数据的均值)

        当 Average Queue Length 与 Average Busy Queue Length 的值相差较多时,表明I/O请求比较密集,有突发性特征。在做性能分析时,结合两点数值,可用于了解I/O请求的到达均匀程度。两者相差越大,请求的到达越密集。一般来讲,不同硬盘造成性能瓶颈时的队列长度也不同[1],例如:

        (1)FC/SAS 15000 rpm的磁盘,queue length < 12 一般来说问题不大

        (2)SATA/NL-SAS 7200 rpm的磁盘,queue length < 6 一般来说问题不大

    [1]https://community.emc.com/message/641733#641733

    相关文章

      网友评论

        本文标题:I/O请求的队列指标

        本文链接:https://www.haomeiwen.com/subject/qnbnlqtx.html