硬盘存储衡量指标

这是我在2013年11月写在博客里面的笔记,翻出来挺有意思。

1 存储衡量指标:

容量:决定因子是硬盘个数,单盘容量

IOPS:决定因子磁盘个数,cache命中率,阵列算法

I/O响应时间:R=T/(1-U) R是响应时间 T是I/O控制器服务一个块所用时间,U是硬盘利用率。

吞吐量:决定因子是阵列架构,光纤通道大小,硬盘个数

2 IOPS计算方法

IOPS:IO系统每秒所执行IO操作的次数。

2.1 IOPS计算方法:

IO Time = Seek Time + 60 sec/Rotational Speed/2 + IO Chunk Size/Transfer Rate

于是我们可以这样计算出IOPS

IOPS = 1/IO Time = 1/(Seek Time + 60 sec/Rotational Speed/2 + IO Chunk Size/Transfer Rate)

Seek Time寻址时间:一般10krpm 为5ms

T ransfer Rate:40MB/s

2.2 顺序写对IOPS的影响:

上面计算公式都是实际情况中的随机读写,如果考虑一种相对极端的顺序读写操作,比如说在读取一个很大的存储连续分布在磁盘的的文件,因为文件的存储的分布是连续的,磁头在完成一个读IO操作之后,不需要从新的寻址,也不需要旋转延时,在这种情况下我们能到一个很大的IOPS值。

2.3 单盘的IOPS:

磁阵做RAID 10,15K SAS单盘IOPS为65

1)响应时间和IOPS:

R=T/(1-U) R是响应时间 T是I/O控制器服务一个块所用时间,U是硬盘利用率。

磁盘利用率越高,磁盘响应时间越慢,同样磁盘利用率越高,IOPS越高。

因此对于敏感应用,磁盘利用率不要超过70%。即单盘最大实际能提供的IOPS,为MAX(IOPS)*70%

15000rpm的硬盘,最大提供IOPS为180,实际能提供的其实只有180*70%=126

系统实际IOPS越接近理论的最大值,IO的响应时间会成非线性的增长,越是接近最大值,响应时间就变得越大,而且会比预期超出很多。磁盘利用率超过70%,响应时间会急剧上升。

8K IO Chunk Size (135 IOPS, 7.2 ms)   135 => 240.0 ms   105 => 29.5 ms   75 => 15.7 ms   45 => 10.6 ms   64K IO Chunk Size(116 IOPS, 8.6 ms)   135 => 没响应了……   105 => 88.6 ms   75 => 24.6 ms   45 => 14.6 ms

2)IOPS和传输速度(吞吐量)的关系:

IOPS和传输速度没有直接关系,不能使用IOPS*块大小=传输速度。在没有缓存的情况下它们共同的决定因素都是对磁盘系统的访问方式以及单个IO的大小。对磁盘进行随机访问时候我们可以利用IOPS来衡量一个磁盘系统的性能,此时的传输速度不会太大;但是当对磁盘进行连续访问时,此时的IOPS已经没有了参考的价值,这个时候限制实际传输速度却是磁盘的最大传输速度。因此在实际的应用当中,只会用IOPS来衡量小IO的随机读写的性能,而当要衡量大IO连续读写的性能的时候就要采用传输速度而不能是IOPS了。

原文发布于微信公众号 - 大数据和云计算技术(jiezhu2007)

原文发表时间:2016-05-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区