Files
llm_speed_test_app/results/run_20260825-172532.json

562 lines
16 KiB
JSON

{
"version": "1.0",
"timestamp": "2026-08-25T17:25:32.979324",
"run_id": "20260825-172532",
"environment": {
"python_version": "3.13.11",
"platform": "linux",
"model": "qwen3.6:35b-a3b"
},
"config": {
"cases_requested": [
"case_01_generation",
"case_02_simple_tool",
"case_03_file_analysis",
"case_04_parallel_tool",
"case_05_long_context",
"case_06_reasoning",
"case_07_multiturn"
],
"repeats": 2,
"skip_heavy": false,
"total_cases": 7
},
"summary": {
"total_cases": 7,
"passed": 6,
"failed": 1,
"stopped": false,
"total_elapsed_seconds": 357.49
},
"results": [
{
"case_id": "case_01_generation",
"case_name": "纯文本生成基准",
"difficulty": "简单",
"status": "passed",
"raw_data": {
"case_id": "case_01_generation",
"name": "纯文本生成基准",
"description": "基础生成速度基准测试",
"difficulty": "简单",
"estimated_seconds": 5,
"results": [
{
"iteration": 1,
"ttft_ms": 41583.27,
"prefill_ms": 319.34,
"decode_speed_tok_s": 76.72,
"total_tokens": 331,
"prompt_tokens": 31,
"completion_tokens": 300,
"e2e_ms": 45496.03,
"elapsed_ms": 45496.03,
"response_length": 969
},
{
"iteration": 2,
"ttft_ms": 8929.4,
"prefill_ms": 315.75,
"decode_speed_tok_s": 28.7,
"total_tokens": 331,
"prompt_tokens": 31,
"completion_tokens": 300,
"e2e_ms": 19385.96,
"elapsed_ms": 19385.96,
"response_length": 961
}
],
"prompt_used": "请用200字左右概述人工智能从诞生至今的关键发展阶段,每段不超过50字。"
},
"statistics": {
"count": 2,
"mean_ms": 32440.99,
"std_ms": 18462.61,
"min_ms": 19385.96,
"max_ms": 45496.03,
"p50_ms": 32440.99,
"p95_ms": 44190.53,
"p99_ms": 45234.93
},
"inference_metrics": {
"ttft_ms_mean": 25256.33,
"ttft_ms_p95": 39950.58,
"prefill_ms_mean": 317.54,
"prefill_ms_p95": 319.16,
"decode_speed_tok_s_mean": 52.71,
"decode_speed_tok_s_p95": 74.32,
"e2e_ms_mean": 32440.99,
"e2e_ms_p95": 44190.53,
"total_tokens_mean": 331.0,
"total_tokens_p95": 331.0
},
"elapsed_seconds": 64.88
},
{
"case_id": "case_02_simple_tool",
"case_name": "简单工具调用延迟",
"difficulty": "简单",
"status": "passed",
"raw_data": {
"case_id": "case_02_simple_tool",
"name": "简单工具调用延迟",
"description": "测量简单工具调用的额外延迟",
"difficulty": "简单",
"estimated_seconds": 3,
"results": [
{
"iteration": 1,
"ttft_ms": 22079.81,
"prefill_ms": 317.66,
"decode_speed_tok_s": 77.75,
"total_tokens": 121,
"prompt_tokens": 61,
"completion_tokens": 60,
"e2e_ms": 22854.03,
"elapsed_ms": 22854.03,
"response_length": 117,
"tool": "get_date",
"matched": false
},
{
"iteration": 2,
"ttft_ms": 68555.6,
"prefill_ms": 368.48,
"decode_speed_tok_s": 82.77,
"total_tokens": 122,
"prompt_tokens": 62,
"completion_tokens": 60,
"e2e_ms": 69282.23,
"elapsed_ms": 69282.23,
"response_length": 118,
"tool": "get_cpu_usage",
"matched": false
}
]
},
"statistics": {
"count": 2,
"mean_ms": 46068.13,
"std_ms": 32829.7,
"min_ms": 22854.03,
"max_ms": 69282.23,
"p50_ms": 46068.13,
"p95_ms": 66960.82,
"p99_ms": 68817.95
},
"inference_metrics": {
"ttft_ms_mean": 45317.71,
"ttft_ms_p95": 66231.81,
"prefill_ms_mean": 343.07,
"prefill_ms_p95": 365.94,
"decode_speed_tok_s_mean": 80.26,
"decode_speed_tok_s_p95": 82.52,
"e2e_ms_mean": 46068.13,
"e2e_ms_p95": 66960.82,
"total_tokens_mean": 121.5,
"total_tokens_p95": 121.95
},
"elapsed_seconds": 92.14
},
{
"case_id": "case_03_file_analysis",
"case_name": "文件读取+分析",
"difficulty": "中等",
"status": "passed",
"raw_data": {
"case_id": "case_03_file_analysis",
"name": "文件读取+分析",
"description": "文件读取与分析完整链路计时",
"difficulty": "中等",
"estimated_seconds": 2,
"results": [
{
"iteration": 1,
"ttft_ms": 72428.05,
"prefill_ms": 643.53,
"decode_speed_tok_s": 81.45,
"total_tokens": 485,
"prompt_tokens": 185,
"completion_tokens": 300,
"e2e_ms": 76116.09,
"elapsed_ms": 76116.09,
"response_length": 1083,
"file_chars": 485
},
{
"iteration": 2,
"ttft_ms": 233.37,
"prefill_ms": 103.1,
"decode_speed_tok_s": 84.74,
"total_tokens": 485,
"prompt_tokens": 185,
"completion_tokens": 300,
"e2e_ms": 3778.0,
"elapsed_ms": 3778.0,
"response_length": 1111,
"file_chars": 485
}
]
},
"statistics": {
"count": 2,
"mean_ms": 39947.04,
"std_ms": 51150.75,
"min_ms": 3778.0,
"max_ms": 76116.09,
"p50_ms": 39947.04,
"p95_ms": 72499.19,
"p99_ms": 75392.71
},
"inference_metrics": {
"ttft_ms_mean": 36330.71,
"ttft_ms_p95": 68818.32,
"prefill_ms_mean": 373.31,
"prefill_ms_p95": 616.51,
"decode_speed_tok_s_mean": 83.09,
"decode_speed_tok_s_p95": 84.58,
"e2e_ms_mean": 39947.04,
"e2e_ms_p95": 72499.19,
"total_tokens_mean": 485.0,
"total_tokens_p95": 485.0
},
"elapsed_seconds": 79.9
},
{
"case_id": "case_04_parallel_tool",
"case_name": "并行工具调用",
"difficulty": "中等",
"status": "passed",
"raw_data": {
"case_id": "case_04_parallel_tool",
"name": "并行工具调用",
"description": "对比串行 vs 并行工具调用的延迟差异",
"difficulty": "中等",
"estimated_seconds": 5,
"results": [
{
"iteration": 1,
"parallel_tasks": 3,
"serial_ms": 4045.91,
"parallel_ms": 3855.57,
"speedup_ratio": 1.05,
"elapsed_ms": 3855.57,
"avg_ttft_ms": 1662.77,
"avg_decode_speed_tok_s": 84.11,
"ttft_ms": 1662.77,
"decode_speed_tok_s": 84.11
},
{
"iteration": 2,
"parallel_tasks": 3,
"serial_ms": 4303.19,
"parallel_ms": 3989.56,
"speedup_ratio": 1.08,
"elapsed_ms": 3989.56,
"avg_ttft_ms": 1715.28,
"avg_decode_speed_tok_s": 84.17,
"ttft_ms": 1715.28,
"decode_speed_tok_s": 84.17
}
]
},
"statistics": {
"count": 2,
"mean_ms": 3922.57,
"std_ms": 94.75,
"min_ms": 3855.57,
"max_ms": 3989.56,
"p50_ms": 3922.57,
"p95_ms": 3982.86,
"p99_ms": 3988.22
},
"inference_metrics": {
"ttft_ms_mean": 1689.03,
"ttft_ms_p95": 1712.65,
"decode_speed_tok_s_mean": 84.14,
"decode_speed_tok_s_p95": 84.17
},
"elapsed_seconds": 16.19
},
{
"case_id": "case_05_long_context",
"case_name": "长上下文处理",
"difficulty": "耗时",
"status": "passed",
"raw_data": {
"case_id": "case_05_long_context",
"name": "长上下文处理",
"description": "不同上下文长度对延迟的影响",
"difficulty": "耗时",
"estimated_seconds": 10,
"results": [
{
"iteration": 1,
"ttft_ms": 820.58,
"prefill_ms": 804.03,
"decode_speed_tok_s": 77.15,
"total_tokens": 728,
"prompt_tokens": 648,
"completion_tokens": 80,
"e2e_ms": 1866.99,
"elapsed_ms": 1866.99,
"response_length": 319,
"context_tokens_target": 500,
"context_chars": 1254
},
{
"iteration": 2,
"ttft_ms": 70076.71,
"prefill_ms": 97.84,
"decode_speed_tok_s": 77.76,
"total_tokens": 728,
"prompt_tokens": 648,
"completion_tokens": 80,
"e2e_ms": 71112.83,
"elapsed_ms": 71112.83,
"response_length": 319,
"context_tokens_target": 500,
"context_chars": 1254
},
{
"iteration": 1,
"ttft_ms": 1050.97,
"prefill_ms": 1030.17,
"decode_speed_tok_s": 82.71,
"total_tokens": 1355,
"prompt_tokens": 1275,
"completion_tokens": 80,
"e2e_ms": 2030.18,
"elapsed_ms": 2030.18,
"response_length": 319,
"context_tokens_target": 1000,
"context_chars": 2508
},
{
"iteration": 2,
"ttft_ms": 121.85,
"prefill_ms": 100.81,
"decode_speed_tok_s": 81.98,
"total_tokens": 1355,
"prompt_tokens": 1275,
"completion_tokens": 80,
"e2e_ms": 1109.55,
"elapsed_ms": 1109.55,
"response_length": 319,
"context_tokens_target": 1000,
"context_chars": 2508
},
{
"iteration": 1,
"ttft_ms": 2106.57,
"prefill_ms": 2077.92,
"decode_speed_tok_s": 79.78,
"total_tokens": 2628,
"prompt_tokens": 2548,
"completion_tokens": 80,
"e2e_ms": 3132.13,
"elapsed_ms": 3132.13,
"response_length": 331,
"context_tokens_target": 2000,
"context_chars": 5054
},
{
"iteration": 2,
"ttft_ms": 133.36,
"prefill_ms": 105.11,
"decode_speed_tok_s": 81.07,
"total_tokens": 2628,
"prompt_tokens": 2548,
"completion_tokens": 80,
"e2e_ms": 1143.05,
"elapsed_ms": 1143.05,
"response_length": 331,
"context_tokens_target": 2000,
"context_chars": 5054
},
{
"iteration": 1,
"ttft_ms": 3200.13,
"prefill_ms": 3153.14,
"decode_speed_tok_s": 78.66,
"total_tokens": 5155,
"prompt_tokens": 5075,
"completion_tokens": 80,
"e2e_ms": 4259.59,
"elapsed_ms": 4259.59,
"response_length": 331,
"context_tokens_target": 4000,
"context_chars": 10108
},
{
"iteration": 2,
"ttft_ms": 165.67,
"prefill_ms": 117.35,
"decode_speed_tok_s": 79.5,
"total_tokens": 5155,
"prompt_tokens": 5075,
"completion_tokens": 80,
"e2e_ms": 1210.27,
"elapsed_ms": 1210.27,
"response_length": 326,
"context_tokens_target": 4000,
"context_chars": 10108
}
],
"context_sizes_tested": [
500,
1000,
2000,
4000
]
},
"statistics": {
"count": 8,
"mean_ms": 10733.07,
"std_ms": 24421.91,
"min_ms": 1109.55,
"max_ms": 71112.83,
"p50_ms": 1948.59,
"p95_ms": 47714.2,
"p99_ms": 66433.1
},
"inference_metrics": {
"ttft_ms_mean": 9709.48,
"ttft_ms_p95": 46669.91,
"prefill_ms_mean": 935.8,
"prefill_ms_p95": 2776.81,
"decode_speed_tok_s_mean": 79.83,
"decode_speed_tok_s_p95": 82.45,
"e2e_ms_mean": 10733.07,
"e2e_ms_p95": 47714.2,
"total_tokens_mean": 2466.5,
"total_tokens_p95": 5155.0
},
"elapsed_seconds": 85.87
},
{
"case_id": "case_06_reasoning",
"case_name": "复杂推理任务",
"difficulty": "耗时",
"status": "passed",
"raw_data": {
"case_id": "case_06_reasoning",
"name": "复杂推理任务",
"description": "不同推理复杂度下的延迟对比",
"difficulty": "耗时",
"estimated_seconds": 15,
"results": [
{
"iteration": 1,
"ttft_ms": 502.6,
"prefill_ms": 245.68,
"decode_speed_tok_s": 80.34,
"total_tokens": 93,
"prompt_tokens": 13,
"completion_tokens": 80,
"e2e_ms": 1500.12,
"elapsed_ms": 1500.12,
"response_length": 320,
"reasoning_level": "简单问答"
},
{
"iteration": 2,
"ttft_ms": 220.67,
"prefill_ms": 100.19,
"decode_speed_tok_s": 83.2,
"total_tokens": 93,
"prompt_tokens": 13,
"completion_tokens": 80,
"e2e_ms": 1184.6,
"elapsed_ms": 1184.6,
"response_length": 317,
"reasoning_level": "简单问答"
},
{
"iteration": 1,
"ttft_ms": 438.71,
"prefill_ms": 268.76,
"decode_speed_tok_s": 82.97,
"total_tokens": 220,
"prompt_tokens": 20,
"completion_tokens": 200,
"e2e_ms": 2852.11,
"elapsed_ms": 2852.11,
"response_length": 714,
"reasoning_level": "中等推理"
},
{
"iteration": 2,
"ttft_ms": 232.27,
"prefill_ms": 97.91,
"decode_speed_tok_s": 84.27,
"total_tokens": 220,
"prompt_tokens": 20,
"completion_tokens": 200,
"e2e_ms": 2609.32,
"elapsed_ms": 2609.32,
"response_length": 861,
"reasoning_level": "中等推理"
},
{
"iteration": 1,
"ttft_ms": 471.77,
"prefill_ms": 297.05,
"decode_speed_tok_s": 83.04,
"total_tokens": 427,
"prompt_tokens": 27,
"completion_tokens": 400,
"e2e_ms": 5293.99,
"elapsed_ms": 5293.99,
"response_length": 1768,
"reasoning_level": "复杂推理"
},
{
"iteration": 2,
"ttft_ms": 234.98,
"prefill_ms": 101.34,
"decode_speed_tok_s": 82.71,
"total_tokens": 427,
"prompt_tokens": 27,
"completion_tokens": 400,
"e2e_ms": 5076.1,
"elapsed_ms": 5076.1,
"response_length": 1833,
"reasoning_level": "复杂推理"
}
]
},
"statistics": {
"count": 6,
"mean_ms": 3086.04,
"std_ms": 1746.31,
"min_ms": 1184.6,
"max_ms": 5293.99,
"p50_ms": 2730.72,
"p95_ms": 5239.52,
"p99_ms": 5283.1
},
"inference_metrics": {
"ttft_ms_mean": 350.17,
"ttft_ms_p95": 494.89,
"prefill_ms_mean": 185.16,
"prefill_ms_p95": 289.98,
"decode_speed_tok_s_mean": 82.75,
"decode_speed_tok_s_p95": 84.0,
"e2e_ms_mean": 3086.04,
"e2e_ms_p95": 5239.52,
"total_tokens_mean": 246.67,
"total_tokens_p95": 427.0
},
"elapsed_seconds": 18.52
},
{
"case_id": "case_07_multiturn",
"case_name": "多轮对话累积",
"difficulty": "耗时",
"status": "failed",
"error": "run_test() got an unexpected keyword argument 'repeats'",
"elapsed_seconds": 0.0
}
]
}