SLO 达标率
91.7%
44 / 48 个请求达标
🎯 SLO 达标率(goodput)
一个请求算「好」= 同时满足全部三条约束(SLO 是联合条件,不是分别打分再平均)。分母是本次运行发出的全部请求,不是「成功的请求」——把失败请求排除在分母外,会让达标率系统性偏乐观。
ITL 口径:GenAI-Perf(机器名 genai-perf,(E2E-TTFT)/(completion_tokens-1),不含 TTFT)。LLMPerf 用的是含 TTFT 的口径,同一份数据两者能差 70% 以上,所以口径必须写明,否则数字不可比。
生成不足 2 个 token 的请求没有「token 间隔」可言,ITL 约束对其不适用也不判负(本次 11 条)。
| 约束 | 阈值 | 违反次数 | 占全部请求 |
|---|
| TTFT | ≤ 2000 ms | 4 | 8.3% |
| ITL | ≤ 60 ms | 0 | 0.0% |
| E2E | ≤ 30000 ms | 0 | 0.0% |
一个请求可同时违反多项,故各行之和 ≥ 未达标数(4)。
逐用例达标率
| 用例 | 请求数 | 达标率 | 执行失败 | ITL 不适用 | 无法判定 |
|---|
| 纯文本生成基准 | 3 | 100.0% (3/3) | 0 | 0 | 0 |
| 简单工具调用延迟 | 3 | 100.0% (3/3) | 0 | 0 | 0 |
| 文件读取+分析 | 3 | 100.0% (3/3) | 0 | 0 | 0 |
| 并行工具调用 | 3 | 100.0% (3/3) | 0 | 3 | 0 |
| 长上下文处理 | 12 | 100.0% (12/12) | 0 | 0 | 0 |
| 复杂推理任务 | 9 | 100.0% (9/9) | 0 | 0 | 0 |
| 多轮对话累积 | 3 | 100.0% (3/3) | 0 | 0 | 0 |
| Claude Code 长上下文注入 | 12 | 66.7% (8/12) | 0 | 8 | 0 |
评测断言
「执行状态」只说明用例跑完没抛异常;「评测结论」才是断言是否全过——此前二者混为一谈,未做任何正确性判定。
| 用例 | 评测结论 | 断言通过 | 通过率 |
|---|
| 纯文本生成基准 | 未过 | 3/4 | 75.0% |
| 简单工具调用延迟 | 通过 | 3/3 | 100.0% |
| 文件读取+分析 | 通过 | 3/3 | 100.0% |
| 并行工具调用 | 通过 | 2/2 | 100.0% |
| 长上下文处理 | 未过 | 2/3 | 66.7% |
| 复杂推理任务 | 通过 | 3/3 | 100.0% |
| 多轮对话累积 | 通过 | 2/2 | 100.0% |
| Claude Code 长上下文注入 | 通过 | 4/4 | 100.0% |
未通过的断言(2)
| 用例 | 断言 | 说明 |
|---|
| 纯文本生成基准 | greedy 采样下输出可复现 | 出现 3 种不同输出,内核/精度路径可能不确定 |
| 长上下文处理 | prefill 耗时随上下文递增 | 上下文 2000→4000 时 212.3→159.3(回退超 15.0%) |
长上下文处理 · 分档明细
档位字段 context_tokens_target(上下文 token);用例级中位数取最慢档,档间差异是设计差异、不是抖动——所以各档的 CV / 稳定性才是抖动指标。
逐档达标率连起来就是这条曲线要回答的问题:从哪一档开始掉出 SLO(口径与阈值见下面的「SLO 达标率」一节)。
跨档混合中位数为 291.88 ms,不对应任何真实工况,仅列此备查。
| 档位 | n | 中位 E2E(ms) | CV | P95(ms) | 达标率 | 稳定性 | prefill tok/s | 中位 prompt tok |
|---|
| 500 | 3 | 261.26 | 0.5% | N/A (n=3<20) | 100.0% (3/3) | 稳 | 5245.76 | 650 |
| 1000 | 3 | 268.18 | 18.9% | N/A (n=3<20) | 100.0% (3/3) | 抖 | 9657.67 | 1277 |
| 2000 | 3 | 347.57 | 10.7% | N/A (n=3<20) | 100.0% (3/3) | 一般 | 12008.61 | 2550 |
| 4000 | 3 | 293.3 | 31.6% | N/A (n=3<20) | 100.0% (3/3) | 抖 | 31861.84 | 5077 |
复杂推理任务 · 分档明细
档位字段 reasoning_level(推理档位);用例级中位数取最慢档,档间差异是设计差异、不是抖动——所以各档的 CV / 稳定性才是抖动指标。
逐档达标率连起来就是这条曲线要回答的问题:从哪一档开始掉出 SLO(口径与阈值见下面的「SLO 达标率」一节)。
跨档混合中位数为 2295.83 ms,不对应任何真实工况,仅列此备查。
| 档位 | n | 中位 E2E(ms) | CV | P95(ms) | 达标率 | 稳定性 | prefill tok/s | 中位 prompt tok |
|---|
| 中等推理 | 3 | 2295.83 | 6.3% | N/A (n=3<20) | 100.0% (3/3) | 稳 | 179.2 | 22 |
| 复杂推理 | 3 | 4330.48 | 7.1% | N/A (n=3<20) | 100.0% (3/3) | 稳 | 216.19 | 29 |
| 简单问答 | 3 | 973.54 | 2.9% | N/A (n=3<20) | 100.0% (3/3) | 稳 | 111.25 | 15 |
多轮对话累积 · 逐步明细(上下文累积)
这是累积增长的序列(字段 round),不是同一工况的重复测量——中位数/P95 在增长曲线上没有意义,故不计算,只看逐轮变化。首轮到末轮增长 8.5%。
| 步骤 | n | 中位 E2E(ms) | CV | P95(ms) | 达标率 | 稳定性 | prefill tok/s | 中位 prompt tok |
|---|
| 1 | 1 | 1343.76 | N/A | N/A (n=1<20) | 100.0% (1/1) | 单次 | 261.01 | 35 |
| 2 | 1 | 1359.89 | N/A | N/A (n=1<20) | 100.0% (1/1) | 单次 | 1561.49 | 188 |
| 3 | 1 | 1458.18 | N/A | N/A (n=1<20) | 100.0% (1/1) | 单次 | 2587.81 | 338 |
Claude Code 长上下文注入 · 分档明细
档位字段 context_tokens_target(上下文 token);用例级中位数取最慢档,档间差异是设计差异、不是抖动——所以各档的 CV / 稳定性才是抖动指标。
逐档达标率连起来就是这条曲线要回答的问题:从哪一档开始掉出 SLO(口径与阈值见下面的「SLO 达标率」一节)。
跨档混合中位数为 820.01 ms,不对应任何真实工况,仅列此备查。
| 档位 | n | 中位 E2E(ms) | CV | P95(ms) | 达标率 | 稳定性 | prefill tok/s | 中位 prompt tok |
|---|
| 32000 | 3 | 341.71 | 104.6% | N/A (n=3<20) | 66.7% (2/3) | 抖 | 93265.13 | 26577 |
| 64000 | 3 | 478.75 | 101.8% | N/A (n=3<20) | 66.7% (2/3) | 抖 | 125742.68 | 53277 |
| 96000 | 3 | 589.75 | 99.4% | N/A (n=3<20) | 66.7% (2/3) | 抖 | 138981.26 | 79977 |
| 128000 | 3 | 1067.13 | 87.3% | N/A (n=3<20) | 66.7% (2/3) | 抖 | 100098.87 | 106677 |
Claude Code 长上下文注入 · 口径说明
输出 token 固定为 8,重点看 prefill 与首 token,不看长输出 decode;测试档位 [32000, 64000, 96000, 128000]。
性能分析
- 最快用例: 简单工具调用延迟 (249.51ms)
- 最慢用例: 文件读取+分析 (3444.80ms)
- 最快/最慢比: 13.806260270129455x
- 平均延迟: 1494.77ms(4 个单一工况用例)
- 未纳入对比: 长上下文处理, 复杂推理任务, 多轮对话累积, 并发压力测试(多档/序列用例:混合均值不对应任何单一工况,请看上面的分档明细)
性能对比柱状图
横轴为各历史运行(每次运行一根柱子),纵轴为该运行所有用例平均延迟的均值;橙色柱为当前正在查看的运行。
口径标记 measure_version = cases_v6_prompt_token_capture,只对比同口径的运行。另有 7 次旧口径运行未纳入对比(数字仍保留在 data/results/)。
本次运行各用例延迟对比
平均延迟取各次重复的均值,中位延迟取中位数——
重复次数少时二者差距本身就是抖动信号,故并列显示;判断稳定性看中位数与标准差。
P95 延迟对比
本次运行各用例样本量均不足 20,未计算 P95/P99。
n < 20 时最近秩的「P95」在数学上恒等于最大值(第 ceil(0.95n) 个样本就是最后一个),显示出来只会让人误以为有 95 分位的信息量。需要 P95 请提高 BENCH_REPEATS(≥ 20)后重跑。
详细数据
| 用例名称 | 难度 | 评测结论 | 断言 | 执行状态 |
中位延迟 (ms) | 平均延迟 (ms) | 平均 Prefill (ms) | 平均 Prefill tok/s |
TTFT (ms) | Decode tok/s | ITL (ms) | 标准差 | P95 (ms) | 达标率 |
| 纯文本生成基准 | 简单 | 未过 | 3/4 | passed | 1516.3 | 1443.45 | 121.05 | 272.66 | 121.05 | 88.59 | 11.29 | 182.34 | N/A (n=3<20) | 100.0% (3/3) |
| 简单工具调用延迟 | 简单 | 通过 | 3/3 | passed | 254.02 | 249.51 | 120.63 | 527.85 | 120.63 | 107.33 | 9.32 | 15.91 | N/A (n=3<20) | 100.0% (3/3) |
| 文件读取+分析 | 中等 | 通过 | 3/3 | passed | 3449.03 | 3444.8 | 134.38 | 1404.1 | 134.38 | 90.38 | 11.06 | 96.62 | N/A (n=3<20) | 100.0% (3/3) |
| 并行工具调用 | 中等 | 通过 | 2/2 | passed | 851.66 | 841.31 | N/A | N/A | 231.5 | 69.88 | 14.31 | 40.73 | N/A (n=3<20) | 100.0% (3/3) |
| 长上下文处理 | 耗时 | 未过 | 2/3 | passed | 347.57 最慢档 2000(4 档 × 3 次) | N/A | 185.64 | 13085.79 | 185.64 | 102.61 | 9.75 | N/A | N/A (n=12<20) | 100.0% (12/12) |
| 复杂推理任务 | 耗时 | 通过 | 3/3 | passed | 4330.48 最慢档 复杂推理(3 档 × 3 次) | N/A | 129.54 | 170.64 | 129.54 | 91.66 | 10.91 | N/A | N/A (n=9<20) | 100.0% (9/9) |
| 多轮对话累积 | 耗时 | 通过 | 2/2 | passed | 1458.18 末轮 3(单次测量) | N/A | 128.37 | 1470.1 | 128.37 | 94.69 | 10.56 | N/A | N/A (n=3<20) | 100.0% (3/3) |
| Claude Code 长上下文注入 | 耗时 | 通过 | 4/4 | passed | 1067.13 最慢档 128000(4 档 × 3 次) | N/A | 1870.68 | 83849.38 | 1888.03 | 1326.2 | 0.75 | N/A | N/A (n=12<20) | 66.7% (8/12) |
环境信息
| 模型 | Qwen3.6-35B-A3B-heretic-NVFP4 |
| 模型ID | vllm:qwen36-35b-a3b-heretic-nvfp4 |
| 后端 | openai (本地 8080) |
| 运行平台 | linux |
| 容器 | 1cat-qwen36-35b-a3b-heretic-nvfp4-server |
| 镜像 | 1cat-vllm |
| 镜像 digest | sha256:7b19a9f733dec2bb17acfa5604624a438af0600fadc12a13eb81a180ec127cb9 |
| 端口 | 8080 |
| 类型 | vllm |
| 托管容器 | True |
| 启动时间 | 2026-09-15 13:16:02 |
| 运行ID | 20260917-083754 |
| 测试时间 | 2026-09-17T08:37:54.907884 |
启动参数
| 容器命令 | [vllm serve /models/Qwen3.6-35B-A3B-heretic-NVFP4 --served-model-name Qwen3.6-35B-A3B-heretic-NVFP4 --trust-remote-code --enable-auto-tool-choice --tool-call-parser qwen3_xml --tensor-parallel-size 4 --attention-backend FLASH_ATTN_V100 --kv-cache-dtype fp8_e5m2 --enable-prefix-caching --max-model-len 262144 --max-num-seqs 8 --gpu-memory-utilization 0.78] |