4、性能与成本的天平:IOPS、吞吐量、延迟与每GB成本的关系

做存储选型这么多年,我见过太多人一上来就问:“这个盘多少钱?” 或者 “这个阵列IOPS多少?” 其实,这两个问题单独拎出来都没意义。你想想看,一块NVMe SSD延迟几十微秒,但每GB成本是HDD的十几倍;而HDD虽然便宜,遇到高并发场景直接卡死。说白了,存储选型就是在性能与成本之间找平衡点。

这一节,我们就把IOPS、吞吐量、延迟、每GB成本这四个核心指标拆开揉碎,看看它们到底怎么互相制约。

4.1 三个性能指标,一个成本指标

先统一一下口径。我习惯把存储性能拆成三个维度:

  • IOPS:每秒能处理多少个I/O请求。适合衡量随机读写能力,比如数据库、OLTP场景。
  • 吞吐量:每秒能传输多少数据量(MB/s或GB/s)。适合衡量大块顺序读写,比如视频编辑、日志归档。
  • 延迟:单个I/O请求从发出到完成的时间(毫秒或微秒)。直接影响应用响应速度。

而成本指标,我们通常看每GB有效容量的价格($/GB)。注意是“有效容量”,不是裸容量——RAID开销、快照、副本都要算进去。

核心公式:
总拥有成本(TCO)= 硬件采购 + 电力 + 运维 + 机房空间
单位成本 = TCO ÷ 有效容量(GB)

4.2 四者之间的制约关系

我在项目中遇到过不少“翻车”案例。比如某客户为了省钱,全用SATA HDD跑Oracle数据库,结果IOPS不够,业务高峰期查询超时。后来换了全闪存,IOPS上去了,但预算超了30%。

为什么会这样?因为这四个指标天然互斥:

指标 追求方向 代价
IOPS 越高越好 需要更多闪存或更短寻道时间,成本上升
吞吐量 越高越好 需要更宽的总线或更多磁盘并行,功耗增加
延迟 越低越好 需要更快的介质(如NVMe),每GB成本飙升
每GB成本 越低越好 通常意味着用HDD或大容量QLC,性能下降

你想想看,如果一块盘同时做到百万IOPS、10GB/s吞吐、10微秒延迟、0.1美元/GB,那其他厂商都不用活了。现实是,你必须在其中做取舍。

4.3 典型介质对比

我整理了一份常见存储介质的性能与成本对照表。嗯,这里的数据是我基于实际项目经验估算的,不同厂商会有浮动,但趋势不会变:

介质类型 典型IOPS(随机读) 典型吞吐量(顺序读) 典型延迟(随机读) 每GB成本(美元)
NVMe SSD(TLC) 500K – 1M 3 – 7 GB/s 10 – 50 μs 0.15 – 0.30
SATA SSD(TLC) 50K – 100K 500 – 550 MB/s 100 – 200 μs 0.08 – 0.15
10K RPM HDD 150 – 200 150 – 200 MB/s 4 – 8 ms 0.02 – 0.05
7.2K RPM HDD 70 – 120 100 – 150 MB/s 8 – 15 ms 0.01 – 0.03
磁带(LTO-9) N/A(顺序访问) 400 MB/s(压缩后) 数十秒(寻带) 0.005 – 0.01

我的建议:不要只看单盘性能。实际生产环境中,RAID、网络、协议开销都会拉低性能。比如NVMe SSD标称百万IOPS,但经过FC SAN或iSCSI后,实际能到30万就算不错了。

4.4 如何找到你的“甜点”

我曾经帮一个金融客户做存储规划。他们的核心交易系统需要高IOPS,但历史归档只需要低成本大容量。我的做法很简单——分层:

  1. 热数据层:全闪存(NVMe),承载在线交易,延迟<100μs,IOPS>50万。
  2. 温数据层:混合阵列(SSD + HDD),承载近3个月的历史查询,IOPS>5000即可。
  3. 冷数据层:大容量HDD或对象存储,承载超过3个月的数据,每GB成本压到最低。

这样整体TCO比全闪存方案降低了60%,而核心业务性能一点没降。说白了,没有最好的存储,只有最合适的存储。

4.5 避坑指南

我曾经踩过的坑:

  • 只看IOPS不看延迟:某次选型,供应商说阵列能到100万IOPS,结果实际延迟飙到20ms。后来发现那是纯顺序读的测试数据,随机写场景下完全不是一回事。
  • 忽略写放大:SSD的写放大因子(WAF)会显著降低实际IOPS。比如标称100万IOPS的盘,WAF=3时实际只能到33万。
  • 成本只算硬件:每GB成本如果只算硬盘价格,那HDD确实便宜。但加上电力、散热、运维人力,5年TCO可能比SSD还高。

4.6 知识体系图

下面这张图帮你理清四个指标的关系,以及如何根据业务场景做决策:

存储性能与成本关系图 存储性能与成本天平 IOPS 每秒I/O请求数 吞吐量 MB/s 或 GB/s 延迟 μs 或 ms 每GB成本 $/GB 天平:性能 vs 成本 高性能端 高IOPS · 高吞吐 · 低延迟 代价:高$/GB 低成本端 低$/GB · 大容量 代价:低IOPS · 高延迟 权衡 决策原则 热数据 → 高性能(NVMe SSD) 温数据 → 平衡(混合阵列) 冷数据 → 低成本(HDD / 对象存储)

4.7 实战:用公式算清账

最后,我分享一个自己常用的成本精算公式。假设你要采购一批存储,用来跑一个混合负载:

有效容量 = 裸容量 × (1 - RAID开销) × (1 - 快照预留比例)

每GB成本 = (硬件总价 + 5年电费 + 5年运维费) ÷ 有效容量

性能满足度 = min(实际IOPS ÷ 需求IOPS, 实际吞吐 ÷ 需求吞吐)

举个例子:

  • 采购10块NVMe SSD,每块3.84TB,单价$800。裸容量38.4TB。
  • RAID 5(3+1)开销25%,快照预留10%。有效容量 = 38.4 × 0.75 × 0.9 = 25.92TB。
  • 硬件总价$8000,5年电费约$2000,运维费$3000。总成本$13000。
  • 每GB成本 = 13000 ÷ (25.92 × 1024) ≈ $0.49/GB。

这个数字比单看硬盘单价高了不少吧?嗯,这就是为什么我总说“精算”很重要。

小技巧:如果你在做方案对比,建议把每GB成本和每IOPS成本都算出来。前者看容量性价比,后者看性能性价比。两个维度交叉,选型就清晰多了。