共享前缀:性能测评
这里的冷 KV 请求指模型和计算内核已预热,但相关输入的 KV 缓存尚不存在;热请求则可以复用已有前缀。测评比较本地 Python SGLangBackend 的 all 与 staged 提交方式。
以下是一组本机实测:Qwen3-1.7B、BF16、RTX 5090、SGLang 0.5.20、Triton attention,关闭 decode CUDA Graph 和 chunked prefill。使用当前默认提示词,串行处理请求,每种配置预热 5 次、测量 30 次。表中为冷 KV 请求的端到端中位耗时,包含渲染、分词和响应组装,排除模型加载及缓存清空操作。
| 工作负载 | 一次提交 all | 分阶段 staged |
|---|---|---|
| 3 题、9 候选,基准输入 | 84.00 ms | 36.43 ms |
| 4 题、8 候选,长上下文 | 611.77 ms | 125.15 ms |
| 三种题型混合、9 候选 | 93.09 ms | 40.88 ms |
| 1 题、2 候选,短输入 | 11.49 ms | 19.11 ms |
长上下文样例约加速 4.9 倍;短输入则变慢。同一长上下文样例在全热缓存下,一次提交约 25.88 ms,分阶段约 50.79 ms。请用实际请求选择模式,这些数字不代表所有模型、硬件或并发负载的表现。
配置示例和模式选择建议见使用指南。