跳转至

基准测试 — 性能基线与回归检测

使用时机

  • 在 PR 前后测量对性能的影响
  • 设置项目的性能基线
  • 当用户报告“感觉变慢”时
  • 发布前 — 确认满足性能目标
  • 将技术栈与替代方案进行比较

工作原理

模式 1:页面性能

通过浏览器 MCP 测量真实浏览器指标:

1. 各ターゲットURLに移動
2. Core Web Vitalsを測定:
   - LCP (Largest Contentful Paint) — ターゲット < 2.5s
   - CLS (Cumulative Layout Shift) — ターゲット < 0.1
   - INP (Interaction to Next Paint) — ターゲット < 200ms
   - FCP (First Contentful Paint) — ターゲット < 1.8s
   - TTFB (Time to First Byte) — ターゲット < 800ms
3. リソースサイズを測定:
   - 合計ページウェイト(ターゲット < 1MB)
   - JSバンドルサイズ(ターゲット < 200KBgzipped)
   - CSSサイズ
   - 画像ウェイト
   - サードパーティスクリプトウェイト
4. ネットワークリクエストをカウント
5. レンダリングブロッキングリソースをチェック

模式 2:API 性能

对 API 端点进行基准测试:

1. 各エンドポイントに100回ヒット
2. 測定:p50、p95、p99レイテンシ
3. トラック:レスポンスサイズ、ステータスコード
4. ロード下でテスト:10個の同時リクエスト
5. SLAターゲットと比較

模式 3:构建性能

测量开发反馈循环:

1. コールドビルド時間
2. ホットリロード時間(HMR)
3. テストスイート期間
4. TypeScriptチェック時間
5. Lint時間
6. Dockerビルド時間

模式 4:前后对比

在更改前后运行以测量影响:

/benchmark baseline    # 現在のメトリクスを保存
# ... 変更を加える ...
/benchmark compare     # ベースラインと比較

输出:

| Metric | Before | After | Delta | Verdict |
|--------|--------|-------|-------|---------|
| LCP | 1.2s | 1.4s | +200ms | WARNING: WARN |
| Bundle | 180KB | 175KB | -5KB | ✓ BETTER |
| Build | 12s | 14s | +2s | WARNING: WARN |

输出

将基线以 JSON 形式保存到 .ecc/benchmarks/。由于由 Git 跟踪,团队可以共享基线。

集成

  • CI:在所有 PR 中运行 /benchmark compare
  • 与 /canary-watch 配对,用于部署后监控
  • 与 /browser-qa 配对,用于完整的发布前检查清单

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC