C=32 稳态压测 · 1×48 LangGraph
2026-07-16 · 10.2.144.147 · medium · mock-perf · sustain 1800s · 采样 10s
236/239(98.7%)
P50 251s · P95 299s
1 LG × N_JOBS=48 · CPUS=32 · 16GiB
核心结论
单实例 LangGraph(N_JOBS=48)在 C=32 短 mock(≈3 轮 LLM)稳态 30 分钟下可稳定承接:完整成功率 98.7%,无 504。
相对四片 4×8 基线,成功率略降约 0.9pp、P95 略升约 27s;LG 内存只付一份进程基线(峰 ~660MiB),显著低于四片合计 ~1.8GiB。
沙箱并发贴近 replicas=12(峰 14 / 均 11.8)。Docker 16g 是保险丝不是预留;50GB 机应按峰值 RSS + 沙箱规划,而非 4×16g limit。
一、拓扑与参数
| 项 | 值 |
| Base URL | http://10.2.144.147:2026/kunclaw |
| 模型 | mock-perf(:18080 · workers=32 · max_inflight=32) |
| 档位 | medium · sustain 1800s · C=32 · timeout 900s |
| LangGraph | 单容器 · --n-jobs-per-worker 48 |
| 资源限额 | CPUS=32 · MEMORY=16g · UPSTREAMS=http://langgraph:2024 |
| Admission | SUBMIT 52 / WAIT 56 / tenant 52 |
| Sandbox | K8s provisioner · replicas=12 |
二、相对四片基线(v3 4×8)
同机、同 mock、同 C=32 稳态口径
成功率与延迟对比
| 指标 | v3 4×8 | v4 1×48 | 解读 |
| 完整成功 | 250/251(99.6%) | 236/239(98.7%) | 仍高;3 失败缺 present/交付物 |
| P50 / P95 | 234s / 272s | 251s / 299s | 单进程调度略慢 |
| 504 恢复 | 1 | 0 | 本轮无 recovery timeout |
| LG 内存峰 | ~1.8GiB(4 进程) | ~660MiB(单进程) | 基线只付一次 |
| 沙箱峰/均 | 4 / 2.28 | 14 / 11.76 | 更贴 replicas |
三、延迟分布(v4)
任务延迟分桶
Source: results.jsonl · n=239
四、资源时序(v4 · 约每 30s)
active_run 与 LG CPU%
X:分钟 · 100% CPU ≈ 1 核
LG 内存 (MiB) 与 Sandbox 数
Sandbox 内存 (GiB)
LangGraph RSS
峰 660.4 MiB / 均 629.5 MiB
短 mock 很省;20 步需另估
LG CPU
峰 116% / 均 47.9%
稳态约半核
Sandbox
峰 14 / 均 11.76 · 内存峰 4.5 GiB
比四片时期更吃内存
五、对 50GB 物理机的含义
Limit ≠ 预留
不要按「4 × 16GB LG limit」占预算。本轮短 mock:LG ~0.7GiB + 沙箱 ~4.5GiB。
若 20 步中等载荷 @C=32,LG 粗估 4–6GiB、沙箱 6–15GiB;单机 50GB 仍可,但留 ≥10GiB 余量,并用 admission / sandbox replicas 控峰值。
六、失败样本
3/239 完整失败,原因均为 missing_tools_or_deliverable。HTTP 全部 200,无 504。
原始产物:scripts/loadtest/results/2026-07-16-147-formal-c32-sustain30m-v4-1x48/