⚡ IO 耗时全景图

本地文件 IO 与 网络 IO 的延迟量级对比 · 数量级差异高达百万倍

🖥️ 本地 IO(从快到慢)

CPU 寄存器读写Register
L1 Cache 命中CPU 一级缓存
L2 Cache 命中CPU 二级缓存
L3 Cache 命中CPU 三级缓存
内存 (RAM) 读取主存访问
NVMe SSD 顺序读PCIe 固态硬盘
SATA SSD 顺序读普通固态硬盘
HDD 顺序读机械硬盘顺序
HDD 随机读机械硬盘随机 seek

🌐 网络 IO(从快到慢)

本机回环 (loopback)127.0.0.1
局域网 (LAN)同机房 / 万兆网
同城数据中心城域网跨机房
CDN 节点就近边缘节点
国内跨省 WAN北京 → 广州
亚太跨国中国 → 日本/新加坡
跨洋 (中美)中国 → 美国
跨洋 (中欧)中国 → 欧洲
纳秒级 (ns)
0.1 ~ 100 ns
CPU 寄存器、L1/L2/L3 缓存命中、内存总线访问。
这是 CPU 内部操作的时间尺度,1 ns ≈ 光在光纤中走 20 cm。
💾
微秒级 (µs)
1 ~ 500 µs
NVMe SSD 随机读写(50~200 µs)、SATA SSD(100~500 µs)、内存数据库(Redis ≈ 1~5 µs)。
本地 IO 的主力区间。
🌐
毫秒级 (ms)
1 ~ 500 ms
机械硬盘(2~10 ms)、局域网往返(< 1 ms)、同城数据中心(1~5 ms)、国内跨省(20~50 ms)、跨洋网络(150~350 ms)。
网络 IO 的主力区间。
🐌
秒级 (s)
> 1 s
卫星通信(0.5~0.8 s RTT)、磁带库恢复(分钟级)、冷存储读取(秒级)。
通常代表出现了严重延迟或拥塞。

📐 关键数量级差距

🔢
L1 缓存 vs 内存
100× 差距
L1 命中 ~1 ns,内存访问 ~100 ns,差 100 倍。这就是为何 CPU 缓存如此重要。
🔢
内存 vs SSD
1,000× 差距
内存 ~100 ns,NVMe SSD ~100 µs,差约 1000 倍。数据库缓冲池的价值所在。
🔢
SSD vs HDD
100× 差距
NVMe SSD ~100 µs,HDD 随机寻道 ~10 ms,差约 100 倍。随机 IO 场景 SSD 碾压 HDD。
🔢
内存 vs 跨洋网络
百万× 差距
内存 ~100 ns,跨洋 RTT ~200 ms,差约 200 万倍。这正是缓存设计的根本动力。

如果把 CPU 执行一条指令(约 0.3 ns)放大为 1 秒,那各种 IO 操作相当于多久? 这个类比帮你直观感受数量级差异。

L1 缓存命中 ≈ 1 ns
类比放大后:约 3 秒
就像 → 转头看一眼桌上的便利贴
💿
内存 RAM 读取 ≈ 100 ns
类比放大后:约 5 分钟
就像 → 站起来去旁边书架取一本书
🗜️
NVMe SSD 随机读 ≈ 100 µs
类比放大后:约 3.5 天
就像 → 从城市的图书馆借一本书回来
💿
HDD 机械盘随机寻道 ≈ 10 ms
类比放大后:约 1 年
就像 → 等邮购一本国内的书
🏠
局域网 RTT ≈ 0.5 ms
类比放大后:约 18 天
就像 → 同城快递,当天到
🌏
国内跨省 WAN ≈ 30 ms
类比放大后:约 3 年
就像 → 从北京寄信到广州,等回信
✈️
跨洋网络 (中美) RTT ≈ 200 ms
类比放大后:约 20 年
就像 → 寄信去美国,再收到回信
IO 类型 具体场景 典型延迟 量级 速度评级 工程意义
本地 · CPU 寄存器读写 0.1 ~ 0.3 ns ns 极快 CPU 内部操作基准
本地 · CPU L1 Cache 命中 ~1 ns ns 极快 热点数据应常驻 L1
本地 · CPU L2 Cache 命中 ~4 ns ns 极快 工作集数据常驻 L2
本地 · CPU L3 Cache 命中 ~10 ns ns 极快 跨核共享,多线程受益
本地 · 内存 DRAM 主存访问 ~100 ns ns 很快 Redis 等内存数据库的核心优势
本地 · 存储 NVMe SSD 随机读 50 ~ 200 µs µs MySQL SSD 部署的主要受益点
本地 · 存储 SATA SSD 随机读 100 ~ 500 µs µs 中等 常见服务器存储配置
本地 · 存储 HDD 顺序读 1 ~ 5 ms ms 中等 大文件流式读取尚可
本地 · 存储 HDD 随机寻道 5 ~ 15 ms ms 随机 IO 场景严重瓶颈
网络 · 本机 Loopback 127.0.0.1 < 0.1 ms µs 进程间通信参考基准
网络 · LAN 同机房万兆以太网 0.1 ~ 1 ms ms 微服务内部调用的可接受延迟
网络 · LAN 同城跨机房 1 ~ 5 ms ms 同城双活方案的基础
网络 · CDN 就近边缘节点 5 ~ 30 ms ms 中等 静态资源加速的目标延迟
网络 · WAN 国内跨省(北京→广州) 20 ~ 50 ms ms 中等 跨地域同步数据的延迟成本
网络 · WAN 中国 → 日本/新加坡 50 ~ 100 ms ms 中等 亚太多活的延迟下限
网络 · WAN 中国 → 美国(跨太平洋) 150 ~ 250 ms ms 受光速与物理距离限制,不可压缩
网络 · WAN 中国 → 欧洲 200 ~ 350 ms ms 跨洲同步延迟极高,需异步设计
网络 · 卫星 传统 GEO 卫星 (如早期 Starlink) 500 ~ 800 ms ms 极慢 35,000 km 轨道高度,光速决定下限

📌 以上数据为典型工程参考值,实际延迟受硬件配置、操作系统调度、网络拥塞、协议开销等多因素影响。
RTT = Round Trip Time(往返延迟)。延迟数据参考来源:Jeff Dean 的 "Numbers Everyone Should Know"、Brendan Gregg 的性能分析资料,以及 Cloudflare/AWS 公开基准测试。