你的硬盘有多快?,教你提升硬盘/NAS读写性能

速度是每个极客的追求,为了提升充电速度,我研究了各种充电头,写了篇「关于PD快充和快充充电器选购指南,看这一篇就够了」,还被张大妈首页推荐了。今天我们就来聊一聊机械硬盘 / 固态硬盘 / U盘 / NAS 等设备的理论极限速度是多少,看看读写速度受限到底出在哪个环节,以及如何提升日常所用硬盘的读写速度,让你的硬盘发挥到理想性能。

一、速度基础知识

谈及速度就要首先要明确下「速度单位」的概念:

比特(bit,b)是表示信息的最小单位,是二进制数的一位包含的信息,只有两种状态:0 和 1。例如:一个计算机的字长为 16 比特,即 16 个二进制位,则它所表示的数值信息即为 0-65535 。

字节(Byte,B)是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数。1 Byte = 8 bit

B 与 iB 的区别:1KB(Kilobyte)= 1000Byte,1KiB(Kibibyte)=1024byte。硬盘生产商是以 GB(十进制,即 10 的 3 次方,如 1GB = 1000MB,1MB = 1000KB)计算的,而电脑(操作系统)是以 GiB(2 进制,即 2 的 10 次方, 如 1MiB =1024KiB)计算的。但是国内用户一般理解为 1MiB = 1M =1024KB,所以为了便于中文化的理解,翻译 MiB 为 MB 也是可以的。同样根据硬盘厂商与用户对于 1MB 大小的不同理解,硬盘实际容量按计算机实际的 1MiB =1024KB 算都不到标称容量,这也可以解释为什么新买的硬盘「缺斤短两」并没有它所标示的那么大。比如我买的两块大小分别为 2T 和 500G 的硬盘在电脑上显示实际容量只有 1863GB 和 465GB。

带宽(bps)指单位时间能通过链路的数据量。通常以 bps(bit per second) 来表示,即每秒可传输之位数。我们所说的网速、传输速度是指每秒传输的字节(MB/s,KB/s)。常见的千兆路由器、百兆宽带网络都是指的 Mbps,要换算成网速的话还得除以 8。比如 100M 带宽 = 12.5MB/s 网速,千兆网络理论最大传输速度为 125MB/s( 1Gbps = 1Gbit / second = 125 MB/s)。所以就不要抱怨你家的几十兆电信宽带咋没有几十兆的下载速度啦~

二、硬盘能有多快

1、硬盘原理与理论速度

机械硬盘(HDD)主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取。

固态硬盘(SSD)是用固态电子存储芯片阵列而制成的硬盘,具有快速读写、质量轻、能耗低以及体积小等特点,不过一旦硬件损坏,数据较难恢复等,闪存具有擦写次数限制的问,耐用性(寿命)相对较短。

硬盘一般都是通过SATA接口与主板相连,虽然 SATA3 接口的理论速度是 6Gbps,但机械硬盘没一个能够跑满甚至说摸到 50% 都是奢望。 此外机械硬盘的传输速度跟所传输的文件大小有关系,文件越小越碎片的话速度越慢。目前传统硬盘传输速度平均 250MB/s(来源)。也有种说法是读写平均速度约在60 ~ 170MB/s之间(来源)。而采用 SATA 接口的固态硬盘速度在500MB/s左右,NVMe 固态能达到3000MB/s

(图片来源【呼呼科普】了解固态硬盘SSD,竟然如此简单!)

2、机械硬盘缓存

缓存为机械硬盘的读写提供高速的数据缓冲,无论是向硬盘写入数据还是读出数据都是先读到缓存然后在输入电脑的,借以保证数据传输的稳定性和更高的速度。更大的高速缓存容量可以大幅提高机械硬盘的突发读写速度,特别是当机械硬盘需要频繁修改数据时,可以使其性能发挥到极致,又可以大幅提高机械硬盘的寿命。

由于缓存的作用,传输大文件的时候开始速度很快,后来速度慢慢降下来,这里牵涉到两个概念:硬盘的平均传输速率突发传输速率

突发传输速率是硬盘在接到读写命令的瞬间,从硬盘缓存中读出数据的速度,由于缓存是半导体,其读写速度远大于硬盘实际读写速度,甚至可以达到 GB/s级别。

平均传输速率主要由硬盘的转速和磁头寻道时间决定,这个速度就是后期稳定速率,是硬盘接到读写命令、驱动磁头寻道、读写数据、然后经外部接口将数据送出的速率,是硬盘实际持续工作可以达到的速率。也就是上面说到的 60-250MB/s。

3、机械硬盘 PMR 与 SMR 技术

我们平常选购硬盘只注重品牌、容量、转速等参数,其实除了这几项之外还有项厂家从来不标,普通消费者也无从得知,却是很重要的参数——硬盘驱动器 (HDD) 磁性记录技术。主要有两种:垂直磁性记录 (PMR) 和叠瓦式磁性记录 (SMR) 。具体原理和区别可以看 B站 bonjour呼呼的视频,和知乎问答为什么目前市面上的机械硬盘大都不标注是否使用SMR技术?

简单说就是 SMR 技术在提升单碟容量的同时,减少了盘片数量,也降低了售价。不过 SMR 硬盘在改写数据时会覆盖掉邻近磁轨的数据,要先把这些数据存到临近的缓冲区,然后写入新数据,再把旧数据写回去,导致掉速、发热、噪音等问题。使用 SMR 技术的硬盘在刚买来的「空白」状态下可能和非 SMR 硬盘无异;但在使用一段时间、磁盘空间逐渐被数据填满后,SMR 的问题就会开始暴露了,也就是读取数据没问题,但写入(改写)数据会特别慢,SMR 硬盘容量越满,写入越慢

一般来说,缓存为 64MB 的都是垂直技术(PMR),256MB 的都是叠瓦式。买机械硬盘的话尽量绕开 SMR 硬盘,选购指南可以参考小白购买机械硬盘避坑以及选择指南。也可以查看这个 Excel 表格链接,里面有希捷/西数/东芝等两百多款机械硬盘的详细参数,让你一眼辨别你的硬盘是不是 SMR。现在非 SMR 硬盘越来越少了,你的硬盘就算是 SMR 也别太担心,既然 SMR 作为一种新技术并大规模的商用了,日常使用也是没有什么问题的,毕竟硬盘都有两年质保,免费换新呢,不过官方质保并不包括数据恢复,平时还是要做好数据备份,要知道硬盘可是整套电脑主机里面最容易故障的硬件。

4、硬盘读写速度测试

了解完 HDD 和 SSD 的理论速度上限后,接下来测试下我手上的几块机械硬盘和固态硬盘看看实际传输表现如何。我的几块硬盘买的都比较早,之前买的时候也不懂,现在看了下,NAS 和电脑里面几块希捷机械硬盘都不是叠瓦的,不用担心容量快满了掉速的问题。 不过这几款已经停产了,现在希捷 2T 款机械硬盘都是叠瓦式的了。 固态硬盘宿舍用的是东芝 Q300,一款 TLC 颗粒的 240GB 固态硬盘。教研室之前用的是三星的 850 EVO,只有 120GB,用满了之后换了个 500GB 的 860 EVO。不要问我为啥不买更好的 MLC 颗粒的,学生党穷啊。

测试硬盘速度的时候要在两个硬盘之间复制才是平均传输速率,如果复制文件是在一个硬盘不同分区进行,最后的速度要慢于平均传输速率,因为硬盘要同时进行读写操作。下面是测试软件 CrystalDiskMark 的界面介绍。

CrystalDiskMark 测速结果如下所示:

测试结果表明希捷的新款 2TB 机械硬盘的整体性能比老款 500GB 和 1TB 的硬盘好些,不过差别不是太大。固态硬盘性能全方位领先机械硬盘,大容量的固态硬盘性能明显比小容量的要更好(具体原因可以看上面提到的呼呼的科普视频)。SSD 连续读测试(seq)速度差别不大,写速度是 HDD 的 2-3 倍。4K 随机读写速度跟机械硬盘不是一个量级的,这也是固态硬盘真正比机械硬盘强大的地方,像 DLL 一类的小文件,在软件运行时会频繁地调用它,尤其是在启动的时候。而 SSD 的优势就是快速地读写这些小文件,从而使磁盘性能提升,不会出现卡顿。

跑分结果只能做个参考,接下来看看实际在硬盘间拷贝一份大电影文件速度如何:

可以看到从 SSD 写入 HDD 或者 HDD 同磁盘之间的写入能达到 200MB/s,这应该是机械硬盘写入速度的上限了。而 HDD 不同磁盘之间的传输受到同时读写操作的影响,速度降到了 50MB/s,希捷 1T 硬盘速度图还能看到明显的三角形曲线,这是由于硬盘读写的区域不同(靠近圆心或者远离),或者磁盘出现坏道导致的。

从 HDD 写入 SSD,受到 HDD 读取性能的影响,两块三星 SSD 的写入速度只有 150MB/s,固态硬盘之间的读写速度达到了 250MB/s,东芝 SSD 的表现让人大跌眼镜,同样是 TLC 固态硬盘,性能比三星的也差太多了吧!

5、USB2.0 VS USB3.0 U盘读写速度测试

硬盘速度测试完了,手上还有一些 USB2.0(黑色内芯)、USB3.0(蓝色内芯)的U盘和移动硬盘设备,也来测试下它们的读写速度。

可以看到 USB2.0 和 USB3.0 的速度差太多了,基本可以和 USB2.0 的设备说拜拜了。同样是 USB3.0 的U盘和移动硬盘的读取速度差别不大,而写入速度却相差十几倍。也就是要跟别人分享你下载的小姐姐的话拿移动硬盘拷贝要比U盘快上十倍的时间。

6、硬盘小结

目前提升机械硬盘速度的方法主要是加大缓存提升转速。理论上缓存是越大越好的,但是必须考虑的一个问题就是性价比,大的缓存成本是很高的,但是其带来的性能提升往往是没有想象中的大,现在的 PMR 硬盘大都是 64MB 缓存,SMR 由于写入特性一般是 256MB。

至于转速的话也不是越高越好,越高的转速意味着更大耗电和噪音,在移动和碰撞时也更容易损坏,现在主流的 2.5 英寸笔记本硬盘是 5400 转的,3.5 英寸的台式机硬盘的是 7200 转。15000 转/分的硬盘多数都是用在服务器上面,服务器是一旦上架几乎不会移动的,而且服务器硬盘多数都做了raid,因此也不怕坏个把硬盘,因此才会为了追求读写速度、忽略硬盘损坏的风险,更加不用考虑耗电高和噪声大的问题了。

希捷还曾宣布引入多驱动电机技术,使得 HDD 的性能翻番。双电机意味着可以传递 / 检索多一倍的数据,也就是读写性能翻倍。不过由此带来了成本和重量问题,该技术还未见产品面世。

如同电池技术一样,机械硬盘的性能提升放佛遇到了瓶颈停滞不前,7200 转/分和 64MB 的搭配已经快十年没啥变化。5G时代即将来临,势必对读写速度提出更高的要求,接下来就要看固态硬盘的了,至于是 SLC、MLC 还是TLC 又是一个很深的话题了。

总结一下,有钱就上固态硬盘,尤其是系统盘,SSD 会带来整机性能质的提升。性价比较高的机械硬盘依然是装机必备,机械硬盘尽量选择非叠瓦技术的,U盘至少要买 USB3.0 的,同时配套的 USB-HUB 也要是 USB3.0。这样就是当下发挥硬盘性能的最优解啦!

三、NAS 能有多快

NAS(Network Attached Storage:网络附属存储)是私有云,也是云存储的一种。简单来说就是把你的硬盘插上网线,使硬盘里的内容连上网,你在任何其他地方都能访问。百度网盘之类的公有云数据存储在百度公司的服务器上而NAS的数据存储在你本地的硬盘里。NAS具体介绍之前在我的公共号里写过一篇安利 NAS了解一下,有兴趣的可以看一下。NAS可以实现远程访问、文件共享、数据备份、搭建服务器等等功能,总之是非常非常推荐的。

目前来说,价格还是影响 NAS 普及的主要原因,NAS 的硬件门槛不高,主打的软件服务也没有太大的技术壁垒,我相信日后随着诸如价格屠夫小米之类的互联网厂商参与进来,NAS 的价格会降到普通人能买来体验的水平,到那时 NAS 可能就会跟移动硬盘一样成为生活中不可或缺的电子设备之一了。

我用的是群晖入门款双盘位 NAS - DS218J,两块 2T 的硬盘组成 raid1,实现数据的冗余备份,保证数据安全。可以方便的从任意终端(笔记本、台式机、手机、ipad)访问,通过手机上的 DS Photo 一键备份所有手机照片,省下一大笔购买 iCloud 的钱。

NAS 与电脑传输数据走的是网线,那么传输速度就会收到网线带宽的影响,百兆网线理论传输速度 12.5MB/s,跑满应该不成问题,千兆网线理论传输速度 125MB/s,看起来也不低了,跟硬盘之间的理论传输速度差不多。那么 NAS 的读写速度有哪些影响因素呢,怎么才能达到理论速度呢?在我看来主要有以下几点:

1、百兆网络 VS 千兆网络

上面说了,千兆网络的带宽是百兆网络的十倍,我们来测试下真是情况如何,首先测试下百兆网络,使用的是水星100M 交换机,将电脑和 NAS 都连到百兆交换机上。

可以看到在百兆网络环境下,考虑到各种损耗,硬盘读写速度 11MB/s,基本已经跑满百兆带宽了,百兆网络显然已经喂不饱 NAS 了。

接下来换成千兆网络测试一下,使用中高端的华硕AC-66U千兆路由器,上图是我宿舍目前网络的实际拓扑图。宿舍网络一般都是几十兆宽带,所以用个普通的百兆交换机就够了。由于我既有校园网需求(ipv6下视频,校内资源访问),又有电信网需求(玩游戏、看视频速度快),就整了个MT-VIKI 的 RJ45-2 网络切换器。当 SWITCH 切换到电信网的时候,NAS 就通过路由器和电脑连上了。电脑和 NAS 交换数据走的是二层的千兆路由器,一层的百兆交换机不会造成影响。

实测 NAS 和 电脑之间相互传文件的速度达到 100MB/s,基本接近千兆网线的极限速度了,是同一硬盘不同分区之间的 50MB/s 拷贝均速的两倍。

千兆网络的传输速度还是让人满意的,确实是百兆网络速度的十倍。那么万兆网络呢?虽然目前万兆路由器、万兆网线和万兆网卡都比较贵,市面上还是有的卖的,那么全都换上万兆设备能大幅提升 NAS 读写速度吗?答案是让人失望的,由于木桶理论,传输速度受到速度最低那个设备的限制,在万兆网络环境下,实际读写速度就受限于机械硬盘的 150MB/s 的速度瓶颈。

那么换成读写速度最快的固态硬盘呢?嘿,还真有人这么干了! B站翼王就 DIY 了一台万兆网络NAS,将 NAS 和主机的万兆网卡用光纤直连,在内存缓存的作用下,复制小文件速度达到了 1GB/s,真是太爽了!虽然从机械盘拷文件还是会受机械盘本身速度的限制,但是网络不会成为瓶颈,同时几个硬盘考进去也不会冲突。

那么,再快十倍,使用十万兆网络呢?翼王又这么干了! 使用双口 56G 网卡链路聚合后搭建了 10万兆宽带。当然成本也是非常高的,光支持 56G 带宽的网线就得 200 块一米,链路聚合需要两根一起工作价格再翻番。光是单个接口 56G 的速度换算到 Windows 下都有 6000MB/s 的读写,而我们平时用的 NVMe 固态只有 3000MB/s 的读取和 2000MB/s 的写入,目前最快的固态硬盘都已经不够用了。然后.....就只能将内存当硬盘用了! 翼王把 6 根 8G 内存条分了下,每边当 24GB 的硬盘使用。

受到系统内核、CPU 性能等限制,文件传输只能点对点跑单通道,做不了连链路聚合,软件依然跑出来 5700MB/s 的成绩。

直接通过任务管理器拷贝文件,达到了 2GB/s,这时候的瓶颈就出现在资源管理器身上了,它需要实时显示剩余时间和复制速度,做文件验证等等。

现在的传输速度都是以 MB/s 为单位的,相信在不久的将来,就像 MB/s 取代 KB/s 那样,GB/s 和 TB/s 都会成为日常吧!

2、超五类 VS 六类网线:

超五类线可以传输千兆网络,考虑到传输损耗的话就低于千兆了。6 类网线可以提供 2 倍于超五类网线的性能,并且具有更小的串扰,回波损耗方面也要好很多。那么换成 6 类网线的话会不会提升 NAS 与电脑之间的传输速度呢?

我手上没有 6 类网线,找了个网上的测试看一看。

可以看到超五类网线和六类网线的传输速度基本没有什么区别,为什么会这样呢?首先机械硬盘固有的速度瓶颈是无法突破的,换成六类网线顶多跑满千兆网络极限。其次对于家庭网络而言超五类线已然够用,在短距离下超五类线与六类线的速度差别并没有指标上那么明显,更多的是在远距离传输下才会体现出差距。总之就是:换网线没啥用。

3、链路聚合技术

链路聚合指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。

在 NAS 上所说的链路聚合就是用两根网线同时把你的电脑、NAS 和路由器连到一起,每个网线分担一半。这样就能实现带宽翻倍,前提是你的 NAS,路由器,电脑都需要支持链路聚合(有两个网口)。

不过链路聚合技术只是带宽翻倍,并不能实现单用户传输速度翻倍。也就是适合多个用户访问 NAS 的使用场景,比如两台电脑同时访问 NAS,每个用户都有 100MB/s 的速度,互不冲突。单个用户访问的话还只是 100MB/s 千兆网极限速度。

4、NAS 小结

要想提升家庭NAS的传输速度,最重要的还是路由器性能。千兆网络是必不可少的,所以去挑一台更快更好的千兆路由器吧!

四、全文总结

上表是目前与硬盘相关的协议与速度总结,目前硬盘类产品最快的就是雷电3 了,高达 40Gbps 的传输速度使其能够双 4K(4096×2160)60Hz 显示器输出,或外置 GTX2080Ti 显卡。再快的话就是内存了,DDR3 1600Mhz 的内存带宽速度就是 1600Mhz*64/8 = 12.8GB/s,上面提到的翼王拿内存条当硬盘使,读写速度轻轻松松突破5GB/s。

机械硬盘选购的话尽量避免叠瓦式的,固态硬盘的话得看清楚M.2 接口的走的是 SATA 通道还是PCI-e 通道,主板不支持的话就买个靠谱的 SATA 接口 SSD。U盘没啥说的,选 USB3.0 的就好了,USB3.1 接口的U盘目前没啥必要,毕竟大部分电脑的接口还只是蓝色内芯的 USB3.0,等将来主板上普及了 Type-C 接口再说吧。

硬盘产品的实际传输与很多因素有关,读取速度比写入速度快得多。表最后一项产品实际常见速度是目前做的最好的产品在最佳环境下的理想速度,大部分使用情况下是达不到这个速度的,不过最低也要能达到七八成吧,如果你的产品与列表里的参数差的太多,你就要检查下到底问题出在哪个环节了。

最后祝大家都越来越快!

日常勤备份再说一遍哦,谢谢观看

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 目前,有许多高性能的目标检测算法。其中一些最流行和广泛使用的算法包括: 1. YOLO (You Only Look Once) 2. Faster R-CNN 3. RetinaNet 4. Single Shot MultiBox Detector (SSD) 5. Mask R-CNN 这些算法都在不断演进和改进,并在许多领域中取得了显著的成功。 ### 回答2: 目前有很多高性能的目标检测算法,下面我列举几种常见的算法。 1. Faster R-CNN(Faster Region-based Convolutional Neural Network):Faster R-CNN是一种经典的目标检测算法,它通过引入区域建议网络(Region Proposal Network)实现了端到端的目标检测。该算法准确率高,速度。 2. SSD(Single Shot MultiBox Detector):SSD使用单阶段的检测器,通过在不同层次的特征图上应用不同大小的卷积核来检测不同大小的目标。SSD具有较的处理速度,适合用于实时目标检测。 3. YOLO(You Only Look Once):YOLO是一种基于卷积神经网络的实时目标检测算法,它通过将图像划分为网格,并对每个网格预测目标的位置和类别,实现了高效的目标检测。 4. RetinaNet:RetinaNet是一种使用金字塔网络来检测不同大小目标的算法。它通过金字塔网络来提取不同层次的特征,并进行多尺度的预测,具有较好的检测性能。 5. EfficientDet:EfficientDet是一种高效的目标检测算法,它通过使用EfficientNet作为骨干网络,并通过BiFPN和PANet等模块来进行特征融合和多尺度特征提取,取得了较高的准确率和速度。 这些算法都在目标检测领域取得了较好的性能,每个算法都有其特点和适用场景。随着深度学习的不断发展,我们可以期待未来还会有更多高性能的目标检测算法被提出。 ### 回答3: 目前有许多高性能的目标检测算法,其中一些比较知名的包括: 1. R-CNN系列:包括R-CNN、Fast R-CNN和Faster R-CNN。R-CNN首次提出了使用region proposal来生成候选目标框,并将其输入到卷积神经网络中进行分类和回归。Fast R-CNN在R-CNN的基础上进行了优化,将整个图像作为输入,共享卷积计算,提高速度。Faster R-CNN引入了区域提议网络(Region Proposal Network,RPN),将目标提议的生成与目标分类和定位进行了统一。 2. SSD(Single Shot MultiBox Detector):SSD是一种单阶段的目标检测算法,它采用多尺度特征图进行目标的分类和定位。SSD在不同层次的特征图上使用不同大小的默认框来检测不同大小的目标,通过设定合适数量的默认框来提高检测的准确率和召回率。 3. YOLO(You Only Look Once)系列:包括YOLO、YOLOv2和YOLOv3。YOLO将目标检测任务转化为一个回归问题,通过将图像分割成网格并对每个网格预测边界框和类别概率来进行目标检测。YOLOv2和YOLOv3在YOLO的基础上进行了改进,加入了多尺度预测、使用anchor boxes等技术,提升了检测的精度和速度。 4. RetinaNet:RetinaNet是一种基于特征金字塔网络(Feature Pyramid Network,FPN)的目标检测算法,通过引入一种新的损失函数,平衡了大目标和小目标之间的训练难度,提升了检测的精度。 5. EfficientDet:EfficientDet是一种高效的目标检测算法,通过网络结构搜索(Neural Architecture Search,NAS)得到一个高度优化的轻量化网络结构。它在检测精度和速度之间取得了很好的平衡。 这些算法都在目标检测领域取得了很好的效果,它们不断推动着目标检测算法的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值