GCチューニング
はじめに
GCチューニングは、アプリケーションのパフォーマンス目標(スループット、レイテンシ、フットプリント)に合わせてGCの動作を最適化することです。本章では、実践的なチューニング手法を解説します。
チューニングの目標
3つのトレードオフ
┌────────────────────────────────────────────────────────────────── ───┐
│ GCチューニングのトレードオフ │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ スループット │
│ ▲ │
│ ╱ ╲ │
│ ╱ ╲ │
│ ╱ ╲ │
│ ╱ ● ╲ ← 理想のバランス点 │
│ ╱ ╲ │
│ ╱ ╲ │
│ ▼ ▼ │
│ レイテンシ ◀─────────▶ フットプリント │
│ │
│ スループット: アプリケーションの処理能力 │
│ レイテンシ : GC停止時間(応答時間に影響) │
│ フットプリント: メモリ使用量 │
│ │
│ ※ 3つ全てを同時に最適化することはできない │
│ │
└─────────────────────────────────────────────────────────────────────┘