目的
MVP リリース前に明らかな性能ボトルネックを是正する。定量 SLO は本 Issue では設けず、測定 → 是正 → 所見記録のサイクルで対応する(win2cot 決定 2026-06-25)。
スコープ
- ADR-0029 計測基盤(OTel / Application Signals)で主要 endpoint を測定
- N+1 検出(タスク一覧・ダッシュボード・関係者解決 等)と是正(fetch join / EntityGraph 等)
- 頻出クエリの index レビュー(tenant_id 複合 index 含む)
- 所見と是正内容を docs に記録(リリース前チェックリストへ引き継ぎ)
受け入れ条件
議論結果(2026-06-26)— 確定方式 / ADR-0039
議論先行を完了。方式を ADR-0039(docs/adr/0039-performance-tuning-measurement-and-regression.md, Accepted)で固定。要点:
- 現状認識: 主要 N+1 想定 3 箇所は既に対策済み(
loadUserMap 一括 / 関係者 JOIN single query / summary EXISTS)。tasks 複合 index 7 本・task_stakeholders PK+idx も保有。→ 本 Issue の主眼は 検証 + 回帰ガード + EXPLAIN ベースの index 妥当性確認。
- 回帰固定: datasource-proxy(test scope)でクエリ本数を assert。既対策箇所にもガードを張る。
- 発掘の測定: ADR-0029 の OTel(ローカル otel-lgtm)+
show_sql。datasource-micrometer は今回不採用(MVP 直前の Native 互換検証コスト回避)。
- index レビュー完了基準: 主要 endpoint 代表クエリを EXPLAIN し所見(type / 使用 index / rows)を docs 記録。
type=ALL 等の重大事象は是正。
- 是正スコープ: N+1・欠損 index は本 Issue 内。重大ボトルネックも可能な範囲で本 Issue 内、ただしアーキ大改修で PR 肥大化する場合のみ別 Issue 切り出し可。
- keyword 検索(LIKE): 所見記録のみ。前方一致化 / FULLTEXT 等の改善は別 Issue 候補。
注記
- 定量目標(p95 等)は設けない。重大なボトルネックが見つかった場合は別 Issue 化を検討。
- claude-automation=議論先行 → 方式確認済み(ADR-0039)。実装着手は ADR-0039 マージ後を想定。
目的
MVP リリース前に明らかな性能ボトルネックを是正する。定量 SLO は本 Issue では設けず、測定 → 是正 → 所見記録のサイクルで対応する(win2cot 決定 2026-06-25)。
スコープ
受け入れ条件
議論結果(2026-06-26)— 確定方式 / ADR-0039
議論先行を完了。方式を ADR-0039(
docs/adr/0039-performance-tuning-measurement-and-regression.md, Accepted)で固定。要点:loadUserMap一括 / 関係者 JOIN single query / summaryEXISTS)。tasks 複合 index 7 本・task_stakeholders PK+idx も保有。→ 本 Issue の主眼は 検証 + 回帰ガード + EXPLAIN ベースの index 妥当性確認。show_sql。datasource-micrometer は今回不採用(MVP 直前の Native 互換検証コスト回避)。type=ALL等の重大事象は是正。注記