所以我知道没有标准的方式来计算一个硬盘驱动器的IOPS,但从我读过的所有东西看来,其中一个最准确的公式是:
IOP / ms = + {旋转延迟} +({块大小} / {数据传输速率})
每毫秒IOs或者我一直在读的书叫做“磁盘服务时间”。 旋转等待时间也以毫秒为单位计算一次旋转的一半。
这是从EMC的“信息存储和pipe理”一书中拿出来的,这个可靠的来源是错误的。
把这个公式付诸实践考虑这个希捷数据表 。
我将计算ST3000DM001型号的IOPS,块大小为4kb:
所以我的variables是:
9.5ms + 4ms + 39 = IO / ms 52.5
1 /(52.5 * 0.001)= 19 IOPS
19这个驱动器的IOPS显然是不正确的,所以我做错了什么?
你的基本公式是合理的,但是这个 :
数据速率= 156MB / s =(0.156MB / ms / 0.004MB)= 39
不可能是正确的。 您需要确定读取块所需的时间,这将是
4 KB / 156 MB/s = 2.5 * 10^-5s ( ~ 0.025 ms)
由于这个值是微不足道的,所以你可以忽略它,因为你的经验法则近似,计算看起来像1 / 0.0135 ,导致约74 IOPS。
你为什么包括数据速率?
1 /(0.004 + 0.0095)〜74 IOPS。