长上下文压测与 PD 配比:从单请求日志到容量实验
范围与问题起点
北京时间 2026-09-18:希望测试 128K/256K/512K 输入、1K输出、约99%前缀命中下的 PD 配比;随后实际提供了较短输出的性能结果。测试目标和已经完成的结果必须分开。
已取得的实测证据
原始文件「粘贴的文本 (1)(1).txt」(2026-09-18,414行)可直接核对1K和32K;128K来自用户当天19:52的结果反馈,本次未取得对应原始日志。
共同设置:EvalScope random、parallel=1、number=3、prefix-length=0、输出256、ignore_eos=true、stream=true、warmup_num=0。实际请求URL为 http://127.0.0.1:8300/v1/chat/completions;配置打印中的port=8877不能替代明确的目标URL,旧检索摘要“服务端口8877”不采纳。
| 输入 | 成功数 | TTFT | TPOT | 端到端 | 解码速率 | 客户端输出吞吐 |
|---|---|---|---|---|---|---|
| 1K | 3/3 | 1.266秒 | 27.25毫秒 | 8.21秒 | 36.70 token/s | 31.17 token/s |
| 32K | 3/3 | 6.767秒 | 28.00毫秒 | 13.91秒 | 35.71 token/s | 18.41 token/s |
| 128K | 3/3,用户反馈 | 36.47秒 | 27.9毫秒 | 43.57秒 | 35.9 token/s | 5.9 token/s |
表内解码速率约为1000/TPOT毫秒;客户端输出吞吐还计入首token前的等待,因此不能混用。近似关系:端到端时延 ≈ TTFT + (输出token数−1)×TPOT。128K教学复算为36.47 + 255×0.0279 ≈ 43.58秒,与反馈一致。
结论限定于本次小样本:输入增长时TTFT上升显著,decode每token耗时相对稳定。TTFT含排队、Prefill、传输及调度,不能把全部36.47秒直接认定为纯Prefill算子耗时。三个请求的p99不能代表稳定尾延迟。
prefix-length=0代表没有人为指定共享前缀,不证明服务端缓存功能关闭。32K日志报告cached prompt throughput为0,仅说明这一报告口径下未记录命中;需结合服务端计数确认。random不是自然语言质量评测,不能据此判断长上下文理解能力。
PD 配比怎么从测量得到
先验证请求实际走过 P→KV传输→D,而不是直连混部端点。保存两端日志、模型revision、量化元数据、并行组、KV connector和路由配置。
在固定输入/输出分布下,测每个P实例和D实例的可持续请求服务率 μP、μD。教学容量模型:λ上限约为min(nP×μP,nD×μD,传输瓶颈容量),故平衡时nP/nD约为μD/μP。该式假设相同服务单位且阶段容量可近似独立;动态batch、EP同步和缓存会改变结果,最终必须端到端复测。
实验矩阵分三层:
- 正确性:短prompt、长prompt、重复前缀与不同后缀均校验无串扰。
- 冷缓存:不同输入长度,先固定输出和并发,再逐步增加并发/到达率。
- 热缓存:先预热共享前缀,再用不同后缀发请求,测实际命中率;报告预热成本和热态结果。
“99%前缀+1K后缀”不能在所有长度上同时成立:128K输入加1K新内容约99.2%共享;256K和512K对应更高比例。应明确是固定新后缀长度,还是固定命中比例,并考虑缓存块粒度。
每档保存完成QPS、错误率、TTFT/TPOT分位数、P/D队列、KV传输时间、实际缓存命中、设备内存峰值。发送QPS、完成QPS和并发是三个量。提高并发后的收益与尾延迟共同决定可用容量。
性能和长上下文质量分开验收
GSM8K等题目可以测试任务质量,却不是长上下文PD配比的天然性能负载。性能测试使用可控长度并保留真实业务回放;200K/300K质量问题需另做位置变化的检索、多跳推理和真实任务评估。模型声明支持某长度,不等于所有位置和任务都有相同质量。
当前没有取得256K/512K→1K完整矩阵,也没有可证明最佳P:D比例的结果。用户周报说PD性能较差、瓶颈待定位,不能写成部署性能已验收。
可复用资料
EvalScope 官方压力测试说明(核查2026-09-20);具体CLI参数按本机版本的help和解析后配置固定。
DP2、TP8 与 MoE EP:两节点部署为何不一定是两份独立模型;GLM-5.3-Flash 精度异常复盘:从 GPQA 反馈到分层定位。