尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

HDD vs SSD vs NVMe:读写速度实测对比与选型指南

HDD vs SSD vs NVMe:读写速度实测对比与选型指南 电脑圈有个老话题每隔几年就要被重新翻出来吵一遍SSD 和 HDD 到底差多少我最近正好攒了一批盘从老式 7200 转机械盘到 SATA 固态再到 PCIe 4.0 的 NVMe 旗舰外加一个拿内存模拟出来的 RAM Disk 外挂选手索性做了一轮比较系统的读写速度测试。这篇文章就是把整个测试过程、工具选型、数据分析和踩坑记录完整拆给你看所有测试方法都是普通用户在自己电脑上就能复现的不需要专业实验室设备。如果你正准备买硬盘、纠结要不要升级固态或者单纯想搞明白为什么有些软件打开快、有些游戏加载慢这篇文章可以直接当参考。我会把顺序读写、4K 随机、延迟这些概念用最直白的方式讲清楚再附上我实测下来的一组真实数据以及测试过程中遇到的各种疑难杂症和排查方法。1. 测试前的认知准备三种存储的本质差异在按下跑分软件那个 Start 按钮之前我觉得有必要先把三个参测选手的底细摸清楚。很多人上来就比数字结果连自己测的到底是什么都说不清楚这样的测试参考价值非常有限。1.1 HDD机械结构的物理天花板HDD 的原理其实特别简单粗暴一张涂满磁性材料的圆形盘片一个悬浮在盘片上方几纳米位置的磁头马达带着盘片高速旋转磁头在盘面上来回移动找到目标扇区然后读写数据。这个机械结构从 1956 年 IBM 第一块硬盘诞生到现在本质上没有变过。正因为是机械运动HDD 的性能天花板是被物理定律钉死的。家用级 7200 转硬盘的内圈到外圈读取速度大概在 70MB/s 到 200MB/s 之间波动5400 转的低速盘甚至只有 60MB/s 到 130MB/s 的水准。平均寻道时间通常在 9ms 到 15ms 这个区间这是什么概念呢一次数据定位的时间够 SSD 完成几百上千次读操作了。还有一个普通人不太注意的细节HDD 的读写速度跟数据在盘片上的物理位置强相关。外层磁道周长更长同样转速下划过的扇区更多所以读取速度明显快于内圈。这就是为什么同一块硬盘测速时数据的水位不同结果会差一大截。如果你拿一个已经用了大半、数据分散在内外圈的硬盘去测表现会比空盘惨不少。1.2 SSD从 SATA 到 NVMe 的跨越SSD 没有机械机构数据存在 NAND 闪存颗粒里通过主控芯片调度闪存单元完成读写。这带来了几个质的改变寻址不再需要物理移动延迟从毫秒级直接掉到微秒级并行度极高闪存颗粒可以像多车道公路一样同时传输数据。不过 SSD 内部差异也很大。SATA 接口的 SSD因为受限于 SATA 3.0 标准理论带宽上限只有 6Gbps刨去编码开销实测顺序读写大概就是 550MB/s 左右这是所有 SATA 盘的天花板不管你用的是多贵的颗粒。而 NVMe SSD 走的是 PCIe 通道直接跟 CPU 通信PCIe 3.0 x4 理论带宽约 4GB/sPCIe 4.0 x4 翻倍到约 8GB/s最新的 PCIe 5.0 更是到了 16GB/s。这就好比同样一条高速公路SATA 是两车道限速 60NVMe 是八车道不限速差距天然就在那里。但要注意顺序读写的漂亮数字只是 SSD 的一面。闪存的擦写机制决定了它的 4K 随机性能、写入寿命、缓存策略才是真正影响日常体验的环节。这部分我在后面实测环节会详细展开。1.3 RAM Disk把内存当硬盘用的外挂这次测试我拉来了一个特殊选手RAM Disk。它的原理很简单就是用软件划出一部分物理内存把它模拟成一块硬盘分区。内存的读写延迟是纳秒级别带宽动辄几十 GB/s跟机械硬盘和固态硬盘完全不在一个次元。我用的是 SoftPerfect RAM Disk这类工具的核心逻辑就是拿内存空间换存储速度。它的优点是极致快缺点是断电即失数据一掉电就没了而且占用的是系统内存内存不够大的机器慎用。我这次划分了 8GB 出来做测试盘系统内存是 32GB对日常使用影响有限。如果你也想玩建议至少 16GB 内存起步否则物理内存被挤占后系统会频繁使用页面文件整体响应反而变慢。为了公平起见我把它当成一个外挂选手加入对比但数据分析时还是分开讨论毕竟它的定位跟真正意义的持久化存储完全不同。2. 测试环境搭建与工具选型同一块硬盘在不同平台、不同接口、不同负载下跑出来的数字可能天差地别所谓测试公正性很大程度上取决于环境控制。我在这次测试里尽量把变量压到最少。2.1 硬件平台与测试盘清单测试平台信息如下项目配置CPUIntel Core i5-13600K主板B760M 主板带 PCIe 4.0 M.2 插槽内存32GB DDR4 3200系统盘1TB PCIe 4.0 NVMe SSD测试盘1希捷 2TB 7200 转 HDDSATA测试盘2三星 870 EVO 500GBSATA SSD测试盘3WD SN850X 1TBPCIe 4.0 NVMe测试盘4SoftPerfect RAM Disk 8GB所有测试盘的剩余空间都保持在 85% 以上避免写入放大和碎片影响结果。测试前我统一把分区格式化为 NTFS4K 对齐已确认分区起始偏移 103424 扇区对齐到 1MB 边界这个很关键后面会细说。要特别提醒一点测量 SSD 的顺序写入时一定要保证被测盘不是系统盘或者至少系统在测试期间没有频繁的后台写入。否则你测出来的写入曲线会混合着系统日志、临时文件、页面文件的写入流量数据完全不能用。我把这三块数据盘都挂成了从盘系统装在独立的 NVMe 上。2.2 测试工具的选型心得存储跑分工具我前后用过不少这次重点用三个各有所长第一是 CrystalDiskMark最普及的基准测试软件操作直观默认跑的顺序 1MiB、随机 4KiB 队列深度 32/1 等组合基本覆盖了主流应用场景。新版还支持设置测试数据大小和循环次数我建议用默认 1GiB 数据跑 3 次取平均值结果更稳定。第二是 Victoria这款工具在 HDD 时代就是老牌选手现在也支持 SSD。它最强大的功能不是跑分而是读扫描和健康度检查可以逐扇区检测坏道、查看 SMART 信息。它的读速度测试能直观反映整块盘面的速度分布曲线。第三是 hdparm如果你用 Linux 系统这个命令行工具是首选。hdparm -t测缓存读取hdparm -T测纯硬件读取简单高效。另外 Linux 下还有fio这个高级工具能精确模拟各种 IO 模型不过配置参数较多普通用户用 CrystalDiskMark 就够了。我还顺手试了 AS SSD Benchmark 做交叉验证它附带压缩比测试和 IOPS 测试可以看出 SSD 在数据可压缩和不可压缩两种情况下的表现差异对了解主控算法有帮助但作为普通测速工具CrystalDiskMark 的参考价值更直观。2.3 为什么不能只用复制大文件来测速很多人判断硬盘快慢的方式是直接复制一个几 GB 的电影掐秒表算速度。这个方法不是不能用但误差非常大。文件复制涉及操作系统缓存、源盘与目标盘的读写叠加、Copy 引擎的缓冲区大小、SMB 协议如果是网络传输等因素你测到的是系统在这一瞬间的综合表现而不是某一块硬盘的真实能力。举个例子我拿同一个 10GB 文件从另一块 NVMe 往测试 HDD 里拖Windows 资源管理器显示的速度可能高达 1.5GB/s——因为源数据大部分被缓存在内存里真正的瓶颈在 HDD 写入端但界面显示的是混合速度。反之如果你从 HDD 往 NVMe 里拖速度又会被 HDD 的读取端限制住根本测不出 NVMe 的真实写入水平。所以专业测速必须用绕过文件系统的裸读写或者直接用基准工具CrystalDiskMark 这类工具就是干这个的。3. 实测数据顺序读写、4K 随机与延迟跑完所有测试后我拿到了四张数据表。为了让你看得更明白我把结果分成了三组顺序读写、4K 随机、以及延迟表现。每组数据背后都有值得展开讲的东西。3.1 顺序读写大文件连续传输的真实水平先看最能抓眼球的顺序读写结果测试项希捷 2TB 7200转 HDD三星 870 EVO (SATA SSD)WD SN850X (PCIe4.0 NVMe)RAM Disk 8GB顺序读取186.3 MB/s561.2 MB/s7034.5 MB/s7420.1 MB/s顺序写入182.7 MB/s523.8 MB/s6201.3 MB/s5320.6 MB/sHDD 的成绩是 186MB/s 左右接近 7200 转 3.5 寸盘的物理极限。注意这是空盘外圈的峰值如果你把测试文件放在盘片内圈这个数字可能会掉到 120MB/s 上下。SATA SSD 稳稳顶在天花板附近560/524MB/s这是接口上限不是闪存上限。NVMe 这边SN850X 跑出了 7GB/s 的读取这是 1TB 容量下 PCIe 4.0 满速盘的表现。要注意它有个 pSLC 缓存区顺序写入前 200GB 左右都能保持 6GB/s 以上的速度超出缓存区后掉到约 1.5GB/s。如果你的 NVMe 是 TLC 颗粒且缓存较小大文件持续写入的掉速会更明显这是正常现象后面章节专门讲。RAM Disk 的读取 7420MB/s写入 5320MB/s写入比读取低是因为 SoftPerfect 的写入路径经过了一层额外的模拟转换纯内存带宽其实更高。但即便如此这个数据已经把 HDD 甩开了整整 40 倍。3.2 4K 随机读写日常流畅度的关键指标如果说顺序读写决定的是你复制大文件快不快那 4K 随机读写决定的就是系统到底跟不跟手。打开软件、加载游戏场景、启动虚拟机、数据库查询全是大量小文件的随机 IO。下面是用 CrystalDiskMark 的 4K Q32T1 模式测的数据测试项希捷 2TB 7200转 HDD三星 870 EVOWD SN850XRAM Disk随机读取 4K1.1 MB/s42.3 MB/s89.7 MB/s1320.4 MB/s随机写入 4K0.8 MB/s35.6 MB/s76.2 MB/s960.8 MB/sHDD 的 4K 随机读取只有 1MB/s 上下这个数字直观地解释了为什么机械硬盘装系统会卡成 PPT——你的操作系统每一秒要发起几百上千次小文件读取每次都要等磁盘把磁头移过去延迟叠加起来就是灾难。SSD 靠并行闪存把随机性能提高了几十倍NVMe 又靠更高的队列深度再翻一倍。如果你想知道这两项对实际体验的意义我总结成一句话日常开应用 90% 的卡顿都来自 4K 随机性能不足而不是顺序带宽不够。很多人花大价钱买高速 NVMe 跑分漂亮但实际感觉没比 SATA SSD 快多少就是因为 SATA SSD 的 4K 随机已经达到了用户感知的够用线再往上提升的边际收益变小了。不过你要是做视频剪辑、大数据分析这类重度 IO 场景差异就会重新被拉大。3.3 RAM Disk 实测内存带宽的恐怖实力RAM Disk 的 4K 随机是 1320MB/s 的读取、960MB/s 的写入这个数字是 NVMe 的十几倍。虽然我前面把它当外挂看但数据摆出来确实震撼。实际使用中我把一个项目的构建目录放到 RAM Disk 里编译时间从原来的 3 分 20 秒缩短到了 2 分钟出头。原因在于编译过程有大量的中间文件读写每次都是 4K、8K 级别的小数据RAM Disk 恰好完胜。浏览器缓存、临时文件、Photoshop 的暂存盘放 RAM Disk 也同样有效。但代价也很明显一旦断电重启里面所有数据消失得干干净净。我见过有人把重要资料放在 RAM Disk 里然后忘了备份重启后欲哭无泪。所以我给自己定了个规矩RAM Disk 里只放丢了也无所谓的临时数据重要文件永远走真磁盘并且设置定时同步脚本每 5 分钟把 RAM Disk 里有改动的文件镜像回 SSD。4. 影响读写速度的隐藏因素很多人测完速会发现一个困惑为什么跑分软件显示 500MB/s实际复制文件只有 300MB/s为什么同一块 SSD 别人的分数比我高一大截答案往往藏在几个不太起眼的技术细节里。4.1 缓存与 SLC Cache 机制NAND 闪存颗粒分 SLC、MLC、TLC、QLC本质区别是每个存储单元存几位数据。SLC 单元只存 1bit速度最快寿命最长但成本最高TLC 存 3bit容量密度大但写入速度慢QLC 存 4bit更慢。厂商为了解决 TLC/QLC 写入慢的问题搞出了 SLC Cache 机制。原理是拿出一部分 TLC 空间模拟成 SLC 模式工作在这个模式下写入速度可以翻好几倍。我测试的 SN850X 之所以顺序写入能到 6GB/s靠的就是大约 200GB 的动态 SLC 缓存。一旦缓存被写满主控就得一边接收新数据一边把缓存里的数据搬回TLC 区域这时候写入速度会断崖式下跌。这就是为什么测速时测试数据量大小会直接影响结果用 1GiB 测试数据全落在缓存里分数非常漂亮改用 64GiB 测试缓存被打穿分数会掉一半甚至更多。所以买 SSD 不能只看缓存内的峰值跑分要看缓存外的持续性能尤其是你准备拿它当视频素材盘或者下载盘时。4.2 文件系统与分区对齐文件系统对性能的影响经常被忽略。NTFS、exFAT、APFS 之间的差异加上簇大小的设置都会让同一块盘跑出不同分数。以 NTFS 为例默认簇大小 4K如果存储大量小文件4K 簇通常是最优解如果存大视频大镜像簇大小改成 64K 反而能减少碎片、提高连续传输效率。分区对齐就更是老生常谈了。SSD 的读写单元是页通常是 4KB 或 8KB如果你分区起始位置没有对齐到 NAND 页边界一次 IO 可能横跨两个物理页造成读写放大。机械硬盘同样受此影响虽然原理不同对齐到物理扇区即可但现代系统都默认从 1MB 偏移开始建分区基本不会有人再踩这个坑了。检测方法很简单Windows 下用msinfo32看分区起始偏移是不是 103424 扇区即 1MB 的整数倍Linux 下用fdisk -l看 start 字段。4.3 主板接口与线材的坑我这次测试就差点栽在接口问题上。最初接 NVMe 时顺手插到了主板的第二个 PCIe 4.0 M.2 插槽跑出来的读取只有 3.5GB/s明显不正常。翻说明书才发现这个插槽跟某个 SATA 接口共享带宽而且 PCIe 通道数被限制到了 x2等于直接砍半。这个坑在实测中非常常见特别是中低端主板。CPU 直连的 M.2 插槽通常带宽最足走芯片组的插槽可能共享带宽插了多块 M.2 或者 SATA 设备后相互抢车道的现象也很多。建议测速前先查阅主板说明书确认你插的槽位是满速 x4 还是半速 x2。SATA 线材同样有讲究劣质或者过长的 SATA 线会导致信号质量下降速度不稳甚至掉盘有条件尽量用知名品牌的短线。5. 常见问题与排查技巧实录这一部分是我最想分享的因为整个测试过程踩了不少坑。这些问题在说明书里找不到全是真金白银换来的经验。5.1 测速结果波动大怎么办如果你发现同一块盘反复测分数忽高忽低先别急着怀疑硬件坏了。先从这几个方向排查查看后台进程。Windows 的 Search Indexer、Defender 实时扫描、Windows Update 这些服务会在后台疯狂读盘测速时即使系统盘没被测它们也可能在测数据盘上扫描文件。最稳妥的做法是测速前打开任务管理器把所有非必要进程全部关掉必要时直接到安全模式下跑测试。检查温度。NVMe 固态的过热降频非常厉害我跑 SN850X 连续读写 30 分钟后温度从 42 度涨到了 78 度主控开始降速保护顺序写入从 6.2GB/s 掉到 4.1GB/s。如果你的 NVMe 没有散热马甲一定要加装或者至少确保机箱风道覆盖到 M.2 插槽位置。确认没有其他设备抢总线。前面提到的共享带宽问题测速时最好把其他 M.2、SAT A 设备暂时断掉尤其是测试主盘的顺序写入时。5.2 硬盘健康度检测与寿命问题测试之余我也顺手检查了几块盘的 SMART 信息。Windows 下可以用 CrystalDiskInfoLinux 下用smartctl -a /dev/sdX。重点关注几个指标Reallocated Sectors Count重映射扇区数、Current Pending Sector、Uncorrectable Sector Count、以及 SSD 的 Wear Leveling Count 和 SSD Life Left。机械硬盘出现重映射扇区说明盘面已经有物理损伤数值还在涨的话这盘就不能放重要数据了。SSD 则要看寿命百分比我有一块用了三年的 SATA SSD健康度剩 92%已经写入约 28TB 数据。用 Victoria 的扫描功能可以逐扇区检查读速度能直观看出盘面上有没有异常降速区域这个比单纯看分数更有诊断价值。网上流传的所谓SSD 寿命清零是个高危操作市面上确实有对应的量产工具可以重置 SSD 的 SMART 数据但这是给工厂返修用的不是给普通用户玩的。刷写失败轻则丢数据重则直接变砖。我给所有人的建议都是别碰老老实实看健康度该换就换。5.3 硬盘维护工具的实用经验测试过程中我还用到了几个常用的磁盘维护工具顺手分享下实际体验。HDD Raw Copy Tool 这个工具名字带 HDD 但其实也能处理 SSD 和 U 盘。它的核心功能是扇区级别的全盘复制不管文件系统是什么样都按原始扇区数据复制非常适合做数据恢复和整盘备份。但它不是万能的如果源盘有大量读取错误复制过程会卡在某一个坏扇区上停很久。我这次测试就遇到过复制到 63% 卡了 20 分钟的情况解决办法是在设置里把错误重试次数从默认值调成 0 或 1碰到坏块直接跳过先把能救的数据救出来。HDD Low Level Format Tool 也被人问过很多次。这个名字听着吓人但其实它做的事不是传统意义的硬件低格而是把整个磁盘扇区清零重写相当于给硬盘恢复出厂状态。它只适合两种情况一是你要彻底销毁盘上数据二是处理某些逻辑坏道或者加密残留。日常使用完全不需要低格尤其别对 SSD 做闪存颗粒不支持真正的低格这个操作只会白白消耗一次全盘擦写寿命。另外说到 RAM DiskSoftPerfect 我用下来比较稳激活方式支持个人免费版功能对测试来说完全够用。同类工具还有 ImDisk 和 StarWind后者是开源免费的功能更朴素但没什么坑。配置 RAM Disk 时我建议把临时文件、浏览器缓存这些指向它但千万别把虚拟内存页面文件放进去内存本来就不够用的情况下再拿内存去当虚拟内存的载体属于脱裤子放屁。还有一个细节如果你的 Linux 系统用的是 UOS 这类国产发行版NVMe 固态在部分版本上可能需要额外加载主控驱动否则识别不到或者只能跑在低速模式。有个叫nume ssd的配置项对应的是部分国产平台对 NVMe 设备的特殊管理方式如果你在 UOS 下遇到 NVMe 性能异常先查一下内核日志和官方驱动支持列表。我不展开讲底层实现但遇到这类问题先确认驱动再谈性能。6. 数据背后的真实体验与选择建议测试数字是死的但生活场景是活的。我把这轮测试得到的数据映射到几个常见使用场景里给你一个更接地气的购买和使用参考。如果你还在用 HDD 做系统盘不用看任何跑分换一块 SATA SSD 就能感受到肉眼可见的质变。开机时间从 50 秒缩短到 15 秒浏览器打开不转圈右键菜单秒出这些都是 4K 随机性能提升带来的红利。普通办公、影音娱乐、偶尔玩玩游戏SATA SSD 已经足够没必要追求顶级 NVMe。如果你是视频剪辑或者程序员建议上 PCIe 4.0 NVMe。4K 素材的预览、工程文件的加载、大规模代码仓库的索引构建这些场景对连续读写和随机 IO 都有硬需求NVMe 的高带宽能显著缩短等待时间。但也要注意散热最好选自带厚马甲或者散热片版本的型号。至于 RAM Disk我的定位是锦上添花的工具。它适合临时跑一些重 IO 的负载比如编译、渲染、数据库测试但绝对不适合当主力存储。如果你设置了 RAM Disk强烈建议配一个定时同步脚本防止意外重启造成的数据丢失。我自己的配置是每 5 分钟用 robocopy 镜像一次这样最多损失 5 分钟内的数据算是安全和性能的折中。最后再分享一个小技巧测试任何硬盘前先用工具确认它的固件是不是最新版本。我见过一块 SSD 因为固件 bug顺序写入被限制在 400MB/s更新固件后直接翻倍到 800MB/s。厂商经常通过固件更新优化性能算法和缓存策略这个免费提升往往比换硬件来得更实在。
返回列表