本地文件 IO 与 网络 IO 的延迟量级对比 · 数量级差异高达百万倍
🖥️ 本地 IO(从快到慢)
🌐 网络 IO(从快到慢)
📐 关键数量级差距
如果把 CPU 执行一条指令(约 0.3 ns)放大为 1 秒,那各种 IO 操作相当于多久? 这个类比帮你直观感受数量级差异。
| 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 公开基准测试。