当前位置:网站首页>关于存储IOPS你必须了解的概念
关于存储IOPS你必须了解的概念
2022-08-05 05:15:00 【技福小咖】
在存储领域,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,兆每秒)
更多相关大咖视频课程请在苹果App Store 或各安卓市场下载“技福小咖App”学习。
边栏推荐
- [Pytorch study notes] 9. How to evaluate the classification results of the classifier - using confusion matrix, F1-score, ROC curve, PR curve, etc. (taking Softmax binary classification as an example)
- MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA
- 【Kaggle项目实战记录】一个图片分类项目的步骤和思路分享——以树叶分类为例(用Pytorch)
- 关于使用QML的MediaPlayer实现视频和音频的播放时遇到的一些坑
- CVPR2020 - 自校准卷积
- 2022年中总结关键词:裁员、年终奖、晋升、涨薪、疫情
- 【NFT网站】教你制作开发NFT预售网站官网Mint作品
- AIDL详解
- Comparison and summary of Tensorflow2 and Pytorch in terms of basic operations of tensor Tensor
- It turns out that the MAE proposed by He Yuming is still a kind of data enhancement
猜你喜欢
【数据库和SQL学习笔记】4.SELECT查询2:排序(ORDER BY)、聚合函数、分组查询(GROUP BY)
flink基本原理及应用场景分析
SQL(1) - Add, delete, modify and search
【论文精读】R-CNN 之预测框回归(Bounding box regression)问题详述
Flink EventTime和Watermarks案例分析
flink实例开发-详细使用指南
The difference between the operators and logical operators
【零基础开发NFT智能合约】如何使用工具自动生成NFT智能合约带白名单可Mint无需写代码
【论文阅读-表情捕捉】High-quality Real Time Facial Capture Based on Single Camera
AIDL详解
随机推荐
ECCV2022 | RU&谷歌提出用CLIP进行zero-shot目标检测!
全尺度表示的上下文非局部对齐
Mesos learning
转正菜鸟前进中的经验(废话)之谈 持续更新中... ...
Flink Broadcast 广播变量
flink项目开发-配置jar依赖,连接器,类库
11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
Flink 状态与容错 ( state 和 Fault Tolerance)
如何编写一个优雅的Shell脚本(二)
[Over 17] Pytorch rewrites keras
flink基本原理及应用场景分析
【Pytorch学习笔记】8.训练类别不均衡数据时,如何使用WeightedRandomSampler(权重采样器)
Kubernetes常备技能
[Database and SQL study notes] 9. (T-SQL language) Define variables, advanced queries, process control (conditions, loops, etc.)
【NFT网站】教你制作开发NFT预售网站官网Mint作品
【22李宏毅机器学习】课程大纲概述
如何编写一个优雅的Shell脚本(一)
Flink Oracle CDC写入到HDFS
面向小白的深度学习代码库,一行代码实现30+中attention机制。
大型Web网站高并发架构方案