每个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种不同wo

本文详细介绍了Oracle磁盘I/O的计算方法,包括旋转延迟(RD)和磁盘寻道(DS)的时间计算。以10K RPM设备为例,展示了如何计算出每秒IOPS数,以及如何通过iostat命令监测磁盘性能。通过实例分析,阐述了磁盘IOPS在评估存储系统性能中的重要性,并提供了计算I/O大小的技巧,帮助优化数据库系统的性能。
最低0.47元/天 解锁文章
742

被折叠的 条评论
为什么被折叠?



