数据中心应用

70/30 混合负载:写请求到底扣掉了多少读性能

作者:军航科工半导体混合读写负载 / 70/30 / 写放大

把纯读与纯写指标按 70/30 加权得到的数字在真机上测不出来。本文说明写请求如何通过占用 Die 阻塞读路径、写放大如何放大这一效应,以及超配与后台节奏两个杠杆的适用条件。

纯读和纯写的数字不能线性插值

J750 的规格是 4KB 随机读 1,500 KIOPS、随机写 300 KIOPS,J770 的写提升到 600 KIOPS。按 70/30 做加权平均得到的数字,在真机上基本测不出来。原因是读和写共享的不是带宽而是介质资源:一次编程操作会把目标 Die 占住上百微秒,期间落在这个 Die 上的读请求全部排队。混合负载下的实际损失,取决于写请求把多少 Die 变成了阻塞点。需要先说明的是,本文引用的 J750/J770 各项数字均为产品定义/EVT 阶段的规划口径,用来说明量级与趋势,最终数值以后续冻结版本为准。

放大效应从垃圾回收开始

主机写入 30% 只是入口流量。进入稳态后,垃圾回收为了腾出空闲块必须搬移有效数据,介质侧的实际写入量等于主机写入量乘以写放大系数。也就是说,和读请求抢 Die 的那部分压力不是 30%,而是 30% 乘以写放大。虚拟化与 Ceph 这类 CORE 7 的目标场景随机度高、块大小碎,写放大通常显著高于顺序写场景。

两个可用的杠杆

  • 超配:拿可用容量换空闲块比例。空闲块越多,垃圾回收挑中的源块里有效数据越少,搬移量随之下降。这是最直接、也最容易在部署阶段调整的手段。
  • 后台任务节奏:让回收在主机压力低谷推进,避开前台请求密集的窗口。代价是负载本身必须存在低谷,全天满载的系统无从利用。

测试口径要跟着这套机制走

正因为损失来自稳态下的 Die 争用,新盘上跑出来的混合读写成绩没有参考价值。必须先做全盘预处理,等性能落入稳态窗口后再采样,并且把 P99、P99.9 写延迟一起记录下来——均值达标而尾部发散,恰恰是 Die 阻塞在混合负载里最典型的表现形式。

选型上的实际含义

J750 与 J770 共用 PCIe 4.0 x4 接口和同一套 7,400 / 5,500 MB/s 顺序指标,差异集中在写入能力:1 DWPD 对 3 DWPD,300 KIOPS 对 600 KIOPS。混合负载中写占比越高、写放大越大,两者的距离就被拉得越开。选型的判断依据应当是折算到介质侧的日写入量,而不是主机侧观察到的读写比例。

关键词
混合读写负载70/30写放大超配稳态测试J750J770