Prefill/Decode 分离的性能拐点¶
P/D 分离不是默认更快。它用两个资源池和 KV 传输换取阶段独立扩缩、硬件匹配和干扰隔离;当传输、排队和运维成本超过收益时,普通副本更好。
1. 需要同时满足的信号¶
- Prefill 和 Decode 的计算/显存特征明显不同;
- 负载中长 Prompt 或长输出占比足够稳定;
- 两阶段的容量峰值不同时发生,独立扩缩有收益;
- KV 传输网络和协议不会吃掉收益;
- 团队能运维双池、路由、版本和故障语义。
2. 三组基线¶
先把 A/B 调到合理水平,再测试 C。否则会把未优化的基线误当成分离收益。
3. 必测负载¶
| 负载 | 输入 | 输出 | 目的 |
|---|---|---|---|
| Chat | 短到中 | 中 | 普通在线基线 |
| RAG | 长 | 短到中 | Prefill 压力 |
| Reasoning | 中 | 很长 | Decode 压力 |
| 混合 | 真实分布 | 真实分布 | 池间容量和尾延迟 |
4. 拐点判断¶
比较满足相同 TTFT、TPOT 和失败率时的最小 GPU 数、每百万 Token 成本、p99 队列时间、KV 传输流量和扩缩时间。当负载分布变化后结论反转,应保留普通副本作为降级路径。
5. 故障实验¶
- Prefill 池满、Decode 池满和 KV 通道超时;
- 一侧升级导致协议/模型版本不一致;
- 请求已完成 Prefill 但 Decode 实例消失;
- 路由器状态丢失或重复派发;
- 跨可用区传输延迟和费用上升。
延伸阅读:分布式与 P/D 推理、推理优化