Fulla 竞品性能基准对比设计
版本: v1.2(2026-08-28 修订:GC 抖动根因分析——WSL2 I/O 调度停顿而非运行时 GC;run-gc-jitter.sh 新增
--discard-spikes/--env-monitor;COMPARISON.md 新增 Cleaned P99 统计) 日期: 2026-08-15 文档性质: 技术设计(Phase 0.5 落地蓝图,非代码——实施见 §七 milestone) 上游规划: [演进方案 §三 Phase 0](productization-evolution-plan:本地维护档案) P0「自托管竞品对比基准」 前置依赖: 基准设施设计(内部档案,已随 productization-evolution 目录转为本地维护) M1–M4 已交付(S1–S6 自测数据已入仓benchmarks/results/) 验证对象: 调研报告 §3.1(内部档案,已转本地维护) 竞品列(Keycloak/Ory)的量级参考数字
零、TL;DR
- 做什么:在同一台机器、同一套 wrk 阶梯、同一个 PostgreSQL 后端下压 Keycloak / Ory Hydra / Zitadel,与 Fulla 已入仓的自测数据(
benchmarks/results/SUMMARY.md)产出同口径对比表。 - 比什么:S1 discovery / S2 client_credentials / S3 introspect / S5 refresh_token / S6 userinfo 五个单步场景 + 冷启动 + 稳态 RSS + GC 抖动长跑(5 分钟 P99 时间序列——根因:WSL2 I/O 调度停顿而非运行时 GC;去除环境噪声后 Cleaned P99:Fulla 3.0ms < Keycloak 4.6ms < Zitadel 18.1ms < Ory 24.1ms)。
- 不比什么:S4 auth_code(各产品登录/consent 流程不可 wrk 统一驱动);Auth0(SaaS,无法自托管);竞品的极限调优配置(一律用官方推荐生产配置)。
- 核心原则:公平性优先于数字好看。竞品社区会质疑,方法论必须无懈可击——同硬件、同并发阶梯、同后端、各产品官方推荐配置、脚本全部入仓可复现。
- 验收:四家同口径对比表(QPS / P99 / 稳态 RSS / 冷启动 / GC 抖动)落盘
benchmarks/competitors/results/COMPARISON.md;第三方按 README 一键复现。
一、目标与非目标
1.1 目标
| # | 目标 | 衡量 |
|---|---|---|
| G1 | 同环境竞品对比数据:把调研报告 §3.1 的竞品列("来自各产品社区公开基准,非同环境对比")替换为同环境实测 | §六验收 ✅ COMPARISON.md |
| G2 | 验证差异化叙事 |