看了篇文章,突然想写点磁盘IO的东西,也算是对磁盘的一点点总结。

以下以理论为主,辅助结合实际情况。不明白这句话的出去。

今年是2018年,目前市场上早已经没有国产的硬盘,以前的长城、易拓早早的被拍死在沙滩上,话说硬盘的制造难度仅次于CPU。现在好多厂商也被不断的兼并收购也是因为垂直磁记录这道题太难了,不会做。

下面上图看看磁盘技术

现在市面上的磁盘安装转速来说有5400、7200、10000、15000转/分,这里只讨论3.5英寸的硬盘。

IOPS和带宽是硬盘的主要参数之一,那这些硬盘的IOPS和带宽都是多少呢?我们不考虑实际情况的计算一下:

IOPS(IO per second)是硬盘最重要的参数之一,存储系统一直在优化的一个参数。那么不同的硬盘IOPS是多少?怎么计算呢?

先写结果

 RPM的硬盘IOPS=
RPM的硬盘IOPS=80
RPM的硬盘IOPS=147
RPM的硬盘IOPS=199
*以上数据为理论计算值,理论很丰满,现实很骨感。

如何计算的呢?我们以10000 RPM的硬盘为例进行说明

磁盘在接收到一个IO请求的时候需要3步来完成:

1.将磁头转到相应的磁道=寻址时间

  我们没有计算寻址时间的方法,只有原厂商提供的数据,HGST的HUC101890CS420x提供了Seek time约为3.8ms

2.等待相应的扇区转到磁头下方开始读取=潜伏时间latency time。

  最好的情况是磁头转到相应的磁道,扇区正好在转到磁头下方,此时旋转延时最小为0ms

  最差的情况是磁头转到相应的磁道,扇区刚转过磁头下方,此时旋转延时最大,为60000ms/10000转=6ms

  两者取平均值为3ms

3.数据传送时间

  1个4k的文件所需的数据传输时间=4K / 数据传输率

  我们参考原厂商的HUC101890CS420x硬盘的数据传输率Sustained transfer rate (MB/s, typical)为146 to 247,在这里我们取200MB/s

  则得出4k文件的传输时间=4k / 200MB/s=0.02ms

经过3步之后,数据就真正的写在了硬盘上,那所花费的时间=3.8ms+3ms+0.02ms=6.82ms

硬盘操作一个IO需要6.82ms,那么1s的时间能够操作的IO=1s/6.82ms=146.7次,所以我们10000RPM的硬盘IOPS即为147

同理可得以下计算过程:

7200转硬盘我选取HUS726TxTAL42yz,此硬盘寻址时间seek time为8.3ms
数据传输率为up to 233,按照200MB/s算吧
IOPS=1s / [ 8.3ms+(60000/7200/2)ms+0.02ms ]=1s / 12.49ms = 80

15000转的硬盘我选取HUC156060CS420x,此硬盘的寻址时间seek time为3ms
数据传输率为189-271,按照200MB/s算吧
IOPS=1s / [ 3ms+(60000/15000/2)ms+0.02ms ]=1s / 5.02ms = 199

  

*本文中硬盘HUC101890CS420x的参考数据来源:http://www.hgst.com/sites/default/files/resources/USC10K1800_ds.pdf

最新文章

  1. Lesson 13 The Greenwood Boys
  2. Float精度 在JS的解决方法
  3. Coursera《machine learning》--(14)数据降维
  4. Android双击返回键退出Activity的两种方法
  5. FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
  6. 期末考试--nyoj-757
  7. imagemagick 图像处理扩展
  8. How to set custom JsonSerializerSettings for Json.NET in MVC 4 Web API?
  9. 如何在Delphi中调用VC6.0开发的COM
  10. css3属性选择器总结
  11. CSS3基础(3)——CSS3 布局属性全接触
  12. MySQL锁与MVCC
  13. 中点Bresenham画圆
  14. [js高手之路] html5 canvas动画教程 - 实时获取鼠标的当前坐标
  15. Django中url使用命名空间的错误
  16. sqoop将mysql连表查询结果导入hdfs文件
  17. [福大软工] W班 评测作业对应表
  18. 指定的 CGI 应用程序遇到错误,服务器终止了该进程。
  19. Beautiful Soup 解析html表格
  20. 20165234 《Java程序设计》实验一 Java开发环境的熟悉

热门文章

  1. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)
  2. linux进程概论
  3. Spring MVC 实现跨域资源 CORS 请求
  4. Coderforce 560B-Gerald is into Art
  5. Uedit个人专注
  6. Linux安装配置Nginx
  7. New Concept English Two 18 46
  8. Linux:提示符PS1个性设置
  9. 利用U盘大白菜软件来重装win7系统
  10. springboot整合mybatis增删改查(一):项目创建