扩展性追问:日活 100 到 10 万

场景设计深水8讲解 2

日活涨一千倍,架构要变的不是「加机器」:容量规划看 goodput 而不是 throughput, KV Cache 决定并发上限,长尾请求要有兜底策略(限流、降级、排队),网关与多 key 摊配额。答题时先说哪个环节先崩,再说各环节的触发信号。

也叫:扩展性 · 容量规划 · goodput · 长尾 · 兜底策略 · 日活

四、goodput:为什么 throughput 会骗人出自 T6-1

DistServe 给了最好用的例子:系统 throughput 是 10 rps,但只有 3 rps 落在延迟约束内,goodput 就是 3——你按 10 rps 付了 GPU 的钱,只交付了 3 rps,有效成本是账面的 3.3 倍

而 throughput 与延迟之间只有一个旋钮:batch size。

原文示意
batch ↑ → 权重读取被摊薄 → 吞吐 ↑↑
       → 排队 + 单步计算量 ↑ → TTFT ↑、TPOT ↑
       → KV 占用 ↑ → 触发抢占重算 → 尾延迟 ↑↑

batch ↓ → GPU 大量空转 → 吞吐 ↓,但单请求延迟最优

所以唯一正确的优化目标是 goodput:它把延迟约束内生化,逼你在 SLO 边界上找最大 batch,而不是无脑推吞吐或压延迟。NVIDIA 的 AIPerf 已支持直接测,可同时对 TTFT 和 ITL 设阈值。


以上节选自T6-1 推理服务:自建还是调 API,以及 KV Cache 这本账,读全文能看到前后语境。

延伸阅读

考这个知识点的题1

会连带问到7