扩展性追问:日活 100 到 10 万
日活涨一千倍,架构要变的不是「加机器」:容量规划看 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 这本账,读全文能看到前后语境。