基线源代码:e411817315943daeaaf91fa9f44f17ae97abdae8。生产构建命令:npm run build:admin -- --stats-json。
本地实验在同一台电脑上用生产构建、冷缓存、1440×900、Fast 4G 模拟、固定 150 ms 模拟接口完成。旧版与新版交替各测 10 次,报告 p75。静态服务器不压缩资源,所以 JS 字节数是本地原始传输量,不代表线上 CDN 的压缩传输量。使用模拟会话和模拟接口;没有访问真实账户或真实生产接口。
| 页面 | 旧版真正可用 p75 | 旧版首次 JS 请求 | 旧版首次 JS 字节 |
|---|---|---|---|
| 会员管理 | 2386.3 ms | 19 | 908831 |
| 学习报表 | 2886.8 ms | 18 | 1169844 |
构建 stats.json 指出会员页面会引入 xlsx/xlsx.mjs 约 429 KB;学习报表页面在列表阶段引入 PDF 生成相关代码。它们都不参与首次显示列表,是此次选中的稳定代理指标。后台初始包约 350.65 KB,两个页面按路由懒加载,但路由内部仍含上述导出依赖。
测量脚本:perf/bench/admin-frontend.py。它在本机启动旧、新两套静态服务,固定接口响应,并记录列表真正出现的时间。实验数据暂存 /tmp/xiaoshu-admin-perf-final-members.json 和 /tmp/xiaoshu-admin-perf-pair-reports.json,不作为仓库源文件提交。
基线源代码:2d30cb825de0206bb7bc63a3ee22328261130131。生产包保存在 /tmp/xiaoshu-admin-perf-other-baseline/browser。在工作台打开并静置 4.5 秒后,从侧栏首次切入目标模块,记录目标页面标题出现的时间。旧、新版交替各 10 轮;本指标只代表路由代码可用,不代表业务数据加载完成。
| 模块 | 旧版切入 p75 |
|---|---|
| 门店管理 | 378.5 ms |
| 排课中心 | 353.1 ms |
| 陪练老师 | 231.6 ms |
| 工资结算 | 345.2 ms |
| 词库管理 | 219.0 ms |
| 专项训练 | 233.2 ms |
词库真正可用的独立基线:目录总数和词条分页总数均显示后 p75 为 1572.5 ms,固定模拟接口分别延迟 150 ms。会员管理与学习报表作为冷启动回退对照,基线分别为 1891.1 ms 与 1877.7 ms。
基线生产包为优化前的 /tmp/xiaoshu-dashboard-baseline/browser,对照同日候选生产包。固定本地网关、同机浏览器、1440×900,A/B 交替各 10 轮。返回页面可见的 p75 和返回时重发的该页业务请求如下;此耗时不表示旧版业务数据已经加载完毕。
| 页面 | 旧版返回 p75 | 旧版重复业务请求 |
|---|---|---|
| 工作台 | 845.0 ms | 1 |
| 会员管理 | 70.4 ms | 1 |
| 门店管理 | 62.8 ms | 1 |
| 排课中心 | 70.7 ms | 1 |
| 学习报表 | 61.3 ms | 1 |
| 陪练老师 | 59.5 ms | 1 |
| 工资结算 | 54.8 ms | 5 |
| 词库管理 | 66.4 ms | 2 |
| 专项训练 | 62.7 ms | 1 |
旧版工作台欢迎内容需要等 700 ms 模拟接口,其他页的标题可在业务接口完成前出现。因此这些页面主要用重复请求归零检验回访收益。