SuperAPI AI 工具集

dev-benchmark

测试与质量

查看项目

更新于 10-15 21:53

技能介绍

capsem-bench 是 Capsem 的基准测试体系,核心为一个二进制程序 capsem-bench-rs(同时提供宿主机与访客版本)。其设计原则是:所有数值由同一二进制计算,采集器只输出原始样本、不做计算。

用途:运行基准测试、新增维度或采集器、读取结果存储、判断性能变化是真实回归还是机器噪声。

主要能力包括子命令 list(列出全部维度及快速通道覆盖情况)、run(测量并写入存储)、doctor(检查机器是否适合测量,如负载、governor、KVM、杂项进程)、compare(比较两个存储的逐项指标)、verify(对照证据做棘轮校验,机器不合格时拒绝)、report(列出每个对象及趋势),以及协议/协议增量/增量场景引擎(host-direct 与经由 Capsem 的 guest 对比)。结果记录为 capsem.bench.v1,存入 SQLite(cache/target/tests/benchmarks/benchmarks.db),每条指标含 n、min、max、mean、median、p90、p95、p99、p999、stddev、cv、mad。采集器位于 benchmarks/collectors/<dimension>,需在 stdout 输出单个 JSON 文档;协议会拒绝第二个文档、空 metrics、无样本指标,并限制采集器行数与运行时长。

使用方式:常用命令为 just bench-quick(开发循环,无 guest、有界)、just bench(全部有采集器的维度)、just bench routes criterion(仅指定维度)、just bench-report。建议先运行 capsem-bench-rs doctor。quick 运行会被记录但永不作为证据。比较前要求架构与 profile 一致。

限制与注意:路由延迟的低个位数波动(含 3-5 ms)应视为宿主与调度噪声,而非产品提速或回归;路由健康上限是粗略回归防护,含 20% 运营余量,不是比较性性能声明;真正的比较性声明需来自重复存储的证据并超过观测方差。部分基准仍为 pytest,包括 VM 生命周期、fork/镜像/启动、路由延迟门禁等,需运行对应测试文件。修改 guest 分类、存储/rootfs 归因或协议增量前应先阅读 references/guest-benchmarks.md。