跳转至

Prefill/Decode 分离的性能拐点

P/D 分离不是默认更快。它用两个资源池和 KV 传输换取阶段独立扩缩、硬件匹配和干扰隔离;当传输、排队和运维成本超过收益时,普通副本更好。

1. 需要同时满足的信号

  • Prefill 和 Decode 的计算/显存特征明显不同;
  • 负载中长 Prompt 或长输出占比足够稳定;
  • 两阶段的容量峰值不同时发生,独立扩缩有收益;
  • KV 传输网络和协议不会吃掉收益;
  • 团队能运维双池、路由、版本和故障语义。

2. 三组基线

A. 单副本:Prefill + Decode 同实例
B. 多普通副本:增加副本并智能路由
C. P/D 双池:独立实例 + KV 传输

先把 A/B 调到合理水平,再测试 C。否则会把未优化的基线误当成分离收益。

3. 必测负载

负载 输入 输出 目的
Chat 短到中 普通在线基线
RAG 短到中 Prefill 压力
Reasoning 很长 Decode 压力
混合 真实分布 真实分布 池间容量和尾延迟

4. 拐点判断

比较满足相同 TTFT、TPOT 和失败率时的最小 GPU 数、每百万 Token 成本、p99 队列时间、KV 传输流量和扩缩时间。当负载分布变化后结论反转,应保留普通副本作为降级路径。

5. 故障实验

  • Prefill 池满、Decode 池满和 KV 通道超时;
  • 一侧升级导致协议/模型版本不一致;
  • 请求已完成 Prefill 但 Decode 实例消失;
  • 路由器状态丢失或重复派发;
  • 跨可用区传输延迟和费用上升。

延伸阅读:分布式与 P/D 推理推理优化