mcpField
P
performance-profiling

performance-profiling

github.com/davila7開発33.0k349 回インストール今日更新
リポジトリ

performance-profiling について

Web パフォーマンスの測定、原因特定、修正、検証の手順を示す分析スキルです。ページ読み込み、バンドルサイズ、実行時、メモリ、ネットワークのボトルネックを調べる開発者向けで、Lighthouse 監査スクリプトも含みます。

主な機能

  1. 014段階のプロファイリング手順
  2. 02Core Web Vitals の確認
  3. 03バンドル分析のガイド
  4. 04実行時とメモリの兆候を解説
  5. 05Lighthouse 監査スクリプトを同梱

活用シーン

  1. 01ページ読み込みの遅さの調査
  2. 02肥大化や重複したバンドルの発見
  3. 03実行時やメモリ問題の診断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davila7/claude-code-templates --skill performance-profiling

インストール後、Claude Code で/performance-profilingを入力して読み込まれたか確認します。

同梱ファイルscripts/lighthouse_audit.py

詳細

パフォーマンスプロファイリング

測定、分析、最適化。この順番で行いましょう。

🔧 実行スクリプト

自動プロファイリングを行うには、以下を実行してください:

スクリプト目的使用方法
scripts/lighthouse_audit.pyLighthouse パフォーマンス監査python scripts/lighthouse_audit.py https://example.com

1. Core Web Vitals

目標値
指標良好不良測定対象
LCP< 2.5s> 4.0s読み込み
INP< 200ms> 500msインタラクティブ性
CLS< 0.1> 0.25安定性
測定のタイミング
ステージツール
開発ローカルの Lighthouse
CI/CDLighthouse CI
本番環境RUM(Real User Monitoring)

2. プロファイリングのワークフロー

4 ステップのプロセス
1. BASELINE → Measure current state
2. IDENTIFY → Find the bottleneck
3. FIX → Make targeted change
4. VALIDATE → Confirm improvement
プロファイリングツールの選択
問題ツール
ページの読み込みLighthouse
バンドルサイズバンドルアナライザー
ランタイムDevTools Performance
メモリDevTools Memory
ネットワークDevTools Network

3. バンドル分析

確認すべきポイント
問題兆候
大きな依存関係バンドルの上位に出現
重複したコード複数のチャンク
未使用のコードカバレッジが低い
分割の不足単一の大きなチャンク
最適化のアクション
発見事項アクション
大きなライブラリ特定のモジュールだけをインポートする
重複した依存関係重複を解消し、バージョンを更新する
メインに含まれるルートコード分割を行う
未使用のエクスポートツリーシェイキングを行う

4. ランタイムプロファイリング

Performance タブの分析
パターン意味
長いタスク(>50ms)UI のブロッキング
多数の小さなタスクバッチ処理の余地がある可能性
レイアウト/ペイントレンダリングのボトルネック
ScriptJavaScript の実行
Memory タブの分析
パターン意味
ヒープの増加メモリリークの可能性
大量の保持参照を確認する
デタッチされた DOMクリーンアップされていない

5. よくあるボトルネック

症状別
症状考えられる原因
初回読み込みが遅い大きな JS、レンダリングのブロッキング
操作が遅い重いイベントハンドラー
スクロール時のカクつきレイアウトのスラッシング
メモリの増加リーク、保持された参照

6. 即効性の高い改善の優先順位

優先度アクション効果
1圧縮を有効にする高
2画像の遅延読み込み高
3ルートごとのコード分割高
4静的アセットのキャッシュ中
5画像の最適化中

7. アンチパターン

❌ 避けるべきこと✅ 推奨
推測で問題を特定する先にプロファイリングする
細部の最適化に注力する最も大きな問題を修正する
早すぎる最適化必要になったときに最適化する
実際のユーザーを無視するRUM のデータを使用する

ご注意: 最も速いコードは、実行されないコードです。最適化の前に削除しましょう。

コメント