zoukankan      html  css  js  c++  java
  • 磁盘性能,你可能不知道的IOPS计算方法

    每个I/O 请求到磁盘都需要若干时间。主要是因为磁盘的盘边必须旋转,机头必须寻道。磁盘的旋转常常被称为”rotational delay”(RD),机头的移动称为”disk seek”(DS)。一个I/O 请求所需的时间计算就是DS加上RD。磁盘的RD 基于设备自身RPM 单位值(译注:RPM 是Revolutions Perminute的缩写,是转/每分钟,代表了硬盘的转速)。一个RD 就是一个盘片旋转的半圆。

    如何计算一个10K RPM设备的RD 值呢:

    1, 10000 RPM / 60 seconds (10000/60 = 166 RPS)
    2, 转换为 166分之1 的值(1/166 = 0。006 seconds/Rotation)  --每转需要的时间
    3, 单位转换为毫秒(6 MS/Rotation)
    4, 旋转半圆的时间(6/2 = 3MS) 也就是 RD
    5, 加上平均3 MS 的寻道时间 (3MS + 3MS = 6MS)
    6, 加上2MS 的延迟(6MS + 2MS = 8MS)
    7, 1000 MS / 8 MS (1000/8 = 125 IOPS)   --每秒钟能产生的IO数

    每次应用程序产生一个I/O,在10K RPM磁盘上都要花费平均 8MS。在这个固定时间里,磁盘将尽可能且有效率在进行读写磁盘。IOPS 可以计算出大致的I/O 请求数,10K RPM 磁盘有能力提供120-150 次IOPS。评估IOPS 的效能,可用每秒读写I/O 字节数除以每秒读写IOPS 数得出。

    PS:per I/O产生的KB 字节数是与系统本身workload相关的,有2种不同workload的类型,它们是sequential和random。

    =======================================================

    # iostat -x 1

    avg-cpu: %user   %nice   %sys    %idle
    0.00      0.00    57.1 4  42.86

    Device:  rrqm/s wrqm/s   r/s  w/s    rsec/s  wsec/s    rkB/s  wkB/s    avgrq-sz avgqu-sz await   svctm  %util
    /dev/sda  0.00  12891.43 0.00 105.71 0.00 1  06080.00  0.00   53040.00 1003.46  1099.43  3442.43 26.49  280.00
    /dev/sda1 0.00  0.00     0.00 0.00   0.00    0.00      0.00   0.00     0.00     0.00     0.00    0.00   0.00
    /dev/sda2 0.00  12857.14 0.00 5.71   0.00    105782.86 0.00   52891.43 18512.00 559.14   780.00  490.00 280.00
    /dev/sda3 0.00  34.29    0.00 100.00 0.00    297.14    0.00   148.57   2.97     540.29   594.57  24.00  240.00

    avg-cpu: %user %nice %sys %idle
    0.00 0.00 23.53 76.47

    Device:  rrqm/s wrqm/s   r/s  w/s    rsec/s  wsec/s    rkB/s  wkB/s    avgrq-sz avgqu-sz await   svctm  %util
    /dev/sda  0.00  17320.59 0.00 102.94 0.00    142305.88 0.00   71152.94 1382.40  6975.29  952.29  28.57  294.12
    /dev/sda1 0.00  0.00     0.00 0.00   0.00    0.00      0.00   0.00     0.00     0.00     0.00    0.00   0.00
    /dev/sda2 0.00  16844.12 0.00 102.94 0.00    138352.94 0.00   69176.47 1344.00  6809.71  952.29  28.57  294.12
    /dev/sda3 0.00  476.47   0.00 0.00   0.00    952.94    0.00   1976.47  0.00     165.59   0.00    0.00   276.47

    评估IOPS 的效能,可用每秒读写I/O 字节数除以每秒读写IOPS 数得出,比如:
    rkB/s  除以 r/s
    wkB/s  除以 w/s

    53040/105 = 505KB per I/O
    71152/102 = 697KB per I/O

  • 相关阅读:
    flash 的计数器
    如何使用ActionScript来检测用户的语言及屏幕分辨率
    自己整理的MVC框架
    nginx系列(转发代理)
    nginx系列(nginx启动、关闭控制 windows)
    用户体验收录(将样式表放于页面的底部好不好)
    用户体验收录(从下拉菜单设计细节看Amazon对用户体验的把握)(转)
    .NET 4.5 异步IO
    visual studio 2012 update 2中的新功能
    ASP.NET Web API教程(四) 分页查询
  • 原文地址:https://www.cnblogs.com/riasky/p/3481666.html
Copyright © 2011-2022 走看看