IT培训网 - IT职场人学IT技术上IT培训网
程序员你知道啥 硬盘慢的因素你能找到吗
时间:2019-10-11 11:39:16 来源:编程网 作者:IT培训网 已有:名学员访问该课程
大部分程序员都搞错了,硬盘真的很慢么?其实不然,只因你不懂这些,身为程序员在电脑各方面都应该熟知的,如果不懂,真的会给自己的职场带来诸多不便。
缓存是每个程序员所熟知的,相信大家对缓存都已经不陌生了,缓存使用传输更快的介质来存储更加频繁读写的数据。在程序员面试中,我们常常会这样回答,因为硬盘的读写速度太慢,事实真的是如此么?
虽然现在已经又SSD硬盘,但是由于SSD硬盘价格昂贵,在服务器领域,机械硬盘还是横行霸道,所以,今天我们讨论的,是机械硬盘。这十几年来,硬盘的容量已经翻了好几番,我记得我读书那会,能够配一个128G的硬盘已经非常奢侈了,而今天,家用的电脑基本都是TB级别起步的了。但是硬盘的读写速度并没有多大的提升,这很大程度是与硬盘的结构息息相关的。在一个机械硬盘里面,要完成数据读写,需要经历这三步:寻道、旋转、数据读取。
寻道
我们的机械硬盘,就像一个大圆饼一样,数据是一圈一圈地存在,读取数据地时候,需要将探头旋转到对应的磁道,这是一个机械运动的过程,尽管现在的探头越来越精致,速度越来越快,学过物理的同学都知道,从静止的物体运动起来跟加速度这些都有关系,考虑到探头的耐用性,无法太快,现在的大部分磁盘寻道时间都要花2ms到15ms。
旋转
当我们把探头调整到对应磁道之后,还需要去对应的地方去获取数据。我们的每一个磁道的数据都是一个大圆圈,所以需要旋转硬盘到合适的位置。旋转的耗时取决于旋转的转速,这就是市面上我们经常看到的磁盘转速参数,5400转或者7200转甚至更高,一般5400转的硬盘,也需要4ms左右才能旋转到对应的扇区。
数据读取
数据读取其实非常的快,快到可以忽略不记。
随机读写与顺序读写
综上所述,一个机械硬盘,如果要读写的数据不在对应的磁道上,那么最少也要花费5ms去跑到对应的地址,所以,我们常说的,机械硬盘速度慢,更多的是特指机械硬盘在随机读写的速度慢。为了更好的利用磁盘,完成更大的吞吐,在很多大型的系统,都会使用追加写来减少磁盘的寻道跟旋转次数。例如由领英着名的消息队列卡夫卡,或者谷歌开源的存储系统LevelDB,都是使用追加写数据来达到更大的性能。
正常情况,如果你的硬盘按照顺序读写,那么速度将会非常快,但是如果指定读写,那就不得而知了,也许就像我们所认为的读写速度跟不上,误认为特别慢了吧。
每期开班座位有限.0元试听抢座开始!
温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。
- 上一篇:聊聊MySQL数据库的优点及特性
- 下一篇: C++ 编程工具:编译器 / IDE / 调试器