【VPS 硬件选型指南 (存储 篇) 01】NVMe / SATA SSD / HDD:三种介质到底差在哪(原理篇)

只讲原理:HDD、SATA SSD、NVMe 的物理与架构差异,以及 NVMe 为何比 SATA SSD 快 5–10 倍。

买 VPS 时,绝大多数人盯着 vCPU 核数、内存大小和带宽,磁盘类型往往被一句「标配 SSD」轻轻带过。这其实是个大坑:CPU 可以超售弹性、内存不够能加钱升配,但磁盘 IO 是一台服务器上最容易成为瓶颈、也最容易被商家文字游戏糊弄的地方。本篇是「VPS 硬件选型指南(存储篇)」的第 01 篇(原理篇),只讲一件事——NVMe、SATA SSD、HDD 这三种存储介质,物理和架构上到底差在哪,以及为什么 NVMe 比 SATA SSD 能快 5–10 倍。至于怎么亲手用 fio 验货,是第 02 篇的事;各家磁盘的真实配置盘点,是第 03 篇;不同业务的体感与避坑,是第 04 篇;IOPS 的数学深潜留在第 05 篇;数据库和建站的实战数据在第 06 篇。本文尽量不重复它们,只把底层原理讲透。

延伸阅读

更多相关攻略推荐:2026 游戏服 VPS 怎么选:高主频 CPU、内存与 DDoS 2026 高主频 CPU VPS:单核性能、建站与游戏服的隐藏指标用几台便宜 VPS 组 k3s / Docker Swarm 容器集在 VPS 上跑轻量 K8s:k3s 单节点集群入门【VPS 进阶玩法精选 011】VPS 上 MySQL / Post

一、先确立认知:它们根本不是同一代技术

先给结论:NVMe、SATA SSD、HDD 之间的性能差距是数量级的,不是百分之几的优化。很多人把它们当成「三种速度的硬盘」来比,这是误区。更准确的说法是——它们是三套完全不同的存储架构,只是恰好都能往服务器里装、都能叫「磁盘」。

要把原理讲清,得从「数据是怎么被读写的」这个最底层的问题说起。所有存储的本质,都是把比特(bit)写到某种介质上、再从介质上读回来。差别在于:介质是什么、数据要经过多长一条路才能到 CPU、以及这条路一次能并行跑多少请求。

二、HDD:用「机械运动」搬运数据的上一代

HDD(Hard Disk Drive,机械硬盘)是最老的一代。它的存储介质是涂有磁性材料的高速旋转盘片,常见转速 7200 RPM,企业级有 10000/15000 RPM。数据读写靠一个悬浮在盘片上方几纳米的磁头

这里出现一个无法被软件优化的硬伤:寻道延迟(seek latency)。当操作系统想读某段数据时,磁头必须先物理移动到正确的磁道,盘片还要旋转到正确扇区,磁头才能开始读写。这一「移动 + 等待旋转」的过程,即便在现代 7200 转盘上也要花 几毫秒到十几毫秒。注意单位是毫秒——对 CPU 纳秒级的世界来说,几毫秒简直是天文数字。

正因为每次随机访问都要「动一下机械臂」,HDD 最怕的就是东一块西一块的随机小请求:磁头疲于奔命地来回移动,吞吐量直接崩到几十 IOPS。它唯一擅长的,是连续的、大块的、顺序读写(比如顺序备份一个超大文件),因为这时候磁头不用频繁移动。

心智模型:HDD 像一辆需要调头、等红绿灯、还要靠司机手动搬货的卡车。单趟运得多,但每次起停都慢。

三、SATA SSD:闪存革命,却被「老总线」卡了脖子

SATA SSD 用 NAND 闪存芯片替代了盘片和磁头,数据以电荷形式存在浮栅晶体管里,没有任何机械部件。这一步是质变:延迟从毫秒级掉到亚毫秒,随机 IOPS 从 HDD 的几十暴涨到几万。但它有个被很多人忽略的关键约束——接口和总线还是老的

为了兼容旧机箱和旧主板,SATA SSD 走的是 SATA III 总线(和老机械盘同一条道)。SATA III 是早在 2009 年前后为机械硬盘设计的接口,理论带宽封顶约 600 MB/s。换句话说:闪存芯片本身能跑得飞快,却被这条为上古机械盘量身定做的总线死死掐住了脖子。再快的颗粒,过 SATA III 这关时也只剩 ~550 MB/s 的出口。

更要命的是 SATA 的协议层。SATA(以及它前身 AHCI)的命令队列深度只有 32 条,而且是单队列——同一时刻磁盘最多能排 32 个待处理命令,且排在一根队里。这对顺序大文件还凑合,可真实服务器是成千上万个并发小请求,32 条队列瞬间就排满、开始互相阻塞。

心智模型:SATA SSD 是换上了火箭发动机的赛车,却被规定只能走一条限速 600 的乡道,而且路口只挂了一个能排 32 辆车的信号灯。

四、NVMe:闪存 + PCIe 直连 + 新协议,三连跳

NVMe(Non-Volatile Memory Express)用的闪存颗粒和 SATA SSD 基本是同一代东西,差别全在「怎么连、用什么协议」上。它做了三件事,每一件都直击 SATA 的命门:

  • 走 PCIe 总线,直连 CPU。NVMe 盘通常插在 M.2 或 U.2 插槽上,数据通过 PCIe 通道直达 CPU,绕开了 SATA 那条老总线。PCIe 3.0 x4 就提供约 3.5 GB/s 的单向带宽,PCIe 4.0 x4 则到 7 GB/s 量级——是 SATA III 的十几倍带宽出口。
  • NVMe 协议,为闪存而生。AHCI 协议是给机械盘设计的,指令集臃肿、每条命令还要多次寄存器访问。NVMe 是专门为低延迟闪存重新设计的协议,指令更精简,一次提交能批量处理大量命令。
  • 巨量并行队列。这是快 5–10 倍的核心密码:NVMe 支持最多 65535 个队列(队列深度可达 64K),而 SATA 只有单队列 32 条。现代 CPU 有多核,NVMe 让每个核心、每个线程都能拥有自己独立的提交队列,互不排队。

把三者放在一起看为什么 NVMe 比 SATA SSD 快 5–10 倍:SATA 的瓶颈是总线带宽(~550MB/s)和单队列 32 条;NVMe 把带宽扩大了十几倍、把队列从 32 条扩到 6 万多条、并把协议开销砍掉一大截。在随机小文件这种最容易让队列排满的场景下,NVMe 的并行度优势被彻底释放,4K 随机 IOPS 轻松达到 SATA SSD 的 5–10 倍。顺序大文件场景带宽差距也有好几倍,但因为闪存本身顺序读就很快,差距反倒没有随代理服务景那么夸张。

心智模型:NVMe 是把火箭发动机接上了多车道高速公路,每辆车(每个请求)都有自己的车道,互不堵车,出口还宽十几倍。

五、顺序 IO 与随机 IO:为什么真实服务器看 IOPS 而非顺序速度

商家最爱标「顺序读取 500 MB/s」,因为这是最好看、也最容易做高的数字。但真实的网站和服务器,绝大部分时间在做随机小文件读写,顺序速度基本用不上。理解这两个概念,是读懂一切磁盘评测的前提。

顺序 IO 是什么

顺序 IO 是连续读写一大块紧挨着的数据:传文件、做备份、导出数据库 dump、视频流。它对应测试里 bs=1M 的大块读写。对普通建站意义不大,除非你天天搬大文件。HDD 在顺序场景还能勉强一战,所以「顺序读 150MB/s」看着不丢人。

随机 IO 是什么

随机 IO 是在磁盘各处东一块西一块地读写小数据,典型块大小 4K。操作系统、Web 服务器、数据库的每秒都在产生成千上万个这种小请求:读一个 PHP 文件、翻一页索引、写一行日志。衡量它的指标叫 IOPS(每秒 IO 次数)。这正是决定「网站卡不卡、查询快不快」的核心。

为什么真实服务器吃随机 IO?因为运行中的程序极少一次性顺序读一整块,而是不断「跳着」访问海量分散的小文件和小数据块。这种访问模式,恰好是 HDD 的死穴、SATA SSD 的软肋、NVMe 的强项。所以看盘不能看顺序速度,要看 4K 随机 IOPS 和延迟。具体怎么亲手测出来,见第 02 篇

六、一张表看清三种介质的本质差异

下面这张表只列「原理层」的硬指标,帮你在脑子里建立坐标系。更细的实测数字和厂商对比,分别留给第 02、03 篇。

介质顺序读取(上限)4K 随机读 IOPS典型延迟适合场景
HDD(机械盘)100–180 MB/s80–15010–20 ms冷备份、归档、大文件顺序存
SATA SSD约 550 MB/s(SATA III 封顶)50,000–90,0000.1–1 ms低流量展示站、轻量用途
NVMe(Gen3/4)2,000–7,000 MB/s(PCIe 直连)200,000–1,000,000<0.1 ms数据库、WordPress、容器、高并发

这张表最能说明问题的一句话:NVMe 的随机 IOPS 是 SATA SSD 的 5–10 倍,是 HDD 的几千倍。这也解释了为什么两台 CPU、内存完全相同的 VPS,只换一块盘,数据库查询就能从「秒级」变「毫秒级」。

七、各介质的适用边界(一句话带走,不展开)

原理讲完,给一句边界判断,详细体感留给第 04 篇

  • HDD:只在「便宜、大容量、顺序读写」场景有意义,比如冷备份、媒体归档;拿它建站或跑库基本是踩坑。
  • SATA SSD:日常展示站、轻量 API 够用,性价比高;但并发一上来、随机请求一排大队就露怯。
  • NVMe:数据库、WordPress、Docker、高并发业务的硬需求;预算允许尽量上。

至于「同价位某个商家到底给你的是哪一种」「怎么识别假 NVMe」,那是第 03 篇第 02 篇的活儿,本篇不掺和。

💡 延伸阅读:关于架构与基础设施的更多深潜指南,请前往 VPS 主题导读中心 (Hub) 获取全盘策略。