ページを開いたままにするほど重くなるなら
SPA(シングルページアプリケーション)でよく起こる問題の一つがメモリリークです。コンポーネントが消えてもイベントリスナーやタイマー、サブスクリプションが片付けられないと参照が残り続け、メモリ使用量が徐々に増えていきます。このツールはコンポーネント数、イベントリスナー数、未クリーンアップのリスナー比率、平均セッション維持時間を入力すると、0〜100点の危険度スコアでリークの可能性を示します。
危険度レベルの基準
| スコア範囲 | レベル |
|---|---|
| 70点以上 | 高い - 即座に点検が必要 |
| 35〜69点 | 普通 - モニタリングが必要 |
| 34点以下 | 低い - 安定的 |
まず確認すべきこと
危険度が高く出た場合は、useEffectのクリーンアップ関数、removeEventListenerの呼び出し、WebSocketや購読の解除処理が漏れていないかを確認してください。セッション維持時間が長いダッシュボードやリアルタイムページほど、クリーンアップ漏れが深刻な性能低下につながります。
よくある質問
メモリリーク危険度はどう計算されますか?
コンポーネント数、イベントリスナー数、未クリーンアップのリスナー比率、平均セッション時間を組み合わせたスコアで算出します。
イベントリスナーを片付けないとなぜ危険ですか?
コンポーネントが消えてもリスナーがメモリに残り続け、セッションが長いほどメモリ使用量が積み重なります。
危険度が高い場合は何を確認すべきですか?
useEffectのクリーンアップ関数、removeEventListener、購読解除処理が漏れていないか優先的に確認してください。