技福小咖
作者技福小咖·2022-07-21 11:35
网络工程师·技福小咖

关于存储IOPS你必须了解的概念

字数 1232阅读 2289评论 1赞 3

在存储领域,IOPS (Input/Output Per Second) 也被称为Throughput(吞吐量), 即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一 。 IOPS是指单位时间内系统能处理的I/O请求数量,I/O请求通常为读或写数据操作请求。

在一秒内,磁盘进行多少次 I/O 读写的次数,由 寻道时间、旋转延迟和数据传输时间 三部分构成。

寻道时间 Tseek是指将读写磁头移动至正确的磁道上所需要的时间。寻道时间越短,I/O操作越快,目前磁盘的平均寻道时间一般在3-15ms。

旋转延迟 Trotation是指盘片旋转将请求数据所在扇区移至读写磁头下方所需要的时间。旋转延迟取决于磁盘转速,通常使用磁盘旋转一周所需时间的1/2表示。

比如,7200 rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms,而转速为15000 rpm的磁盘其平均旋转延迟约为2ms。

数据传输时间 Ttransfer是指完成传输所请求的数据所需要的时间,它取决于数据传输率,其值等于数据大小除以数据传输率。

IOPS计算公式

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

7200 rpm的磁盘平均旋转延迟大约为60*1000/7200/2 = 4.17ms,而转速为15000 rpm的磁盘其平均旋转延迟为2ms。

通常磁盘IOPS计算

IOPS = 1000 ms/ (Tseek + Troatation),忽略数据传输时间。

假设磁盘平均物理寻道时间为3ms, 磁盘转速为7200,10K,15K rpm,则磁盘IOPS理论最大值分别为:

IOPS = 1000 / (3 + 60X1000/7200/2) = 140

IOPS = 1000 / (3 + 60000/10000/2) = 167

IOPS = 1000 / (3 + 60000/15000/2) = 200

寻道时间取值

考虑到被读写的数据可能在磁盘的任意一个磁道,既有可能在磁盘的最内圈(寻址时间最短),也可能在磁盘的最外圈(寻址时间最长),所以在计算中我们只考虑平均寻址时间,也就是磁盘参数中标明的那个 平均寻址时间 。

旋转延时取值

和寻址一样,当磁头定位到磁道之后有可能正好在要读写扇区之上,这时候是不需要额外延时就可以立刻读写到数据,最坏的情况确实要磁盘旋转整整一圈之后磁头才能读取到数据,所以这里我们也考虑的是 平均旋转延时。

传输时间取值

磁盘参数提供我们的是最大的传输速度,当然要达到这种速度是很有难度的,但这个速度却是磁盘纯读写磁盘的速度,因此只要给定了单次 IO的大小,我们就知道磁盘需要花费多少时间在数据传送上,这个时间就是IO Chunk Size / Max Transfer Rate。(数据传输率,单位是Mb/s,兆每秒)

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论1 条评论

yulu4314yulu4314技术支持长春
2023-05-04 13:15
感谢分享,内容不错!值得学习!
Ctrl+Enter 发表

作者其他文章

相关问题

X社区推广