Jira Data Center で高ガベージ コレクション (GC) オーバーヘッドを管理する
GC オーバーヘッドは、Jira でガベージ コレクション アクティビティの実行に費やされている時間の割合を測定したものです。ガベージ コレクションは、アプリで使用されなくなったオブジェクトを識別して破棄することで、自動的にメモリを再利用するプロセスです。このメトリックでは、メモリ管理に費やされている実行時間の割合が測定されます。割合が高いと、メモリ使用量が非効率的であり、レイテンシが高くなってスループットが低下する可能性があります。一方、割合が低いと、アプリのパフォーマンスが最適であることを示します。
しきい値 | |
|---|---|
最適 | GC に費やされている時間が 5% 以下である |
注意が必要 | GC に費やされている時間が 5% から 10% の間である |
NEEDS ATTENTION (要注意) | GC に費やされている時間が 10% を超える |
GC オーバーヘッドが高いと、Jira Data Center のパフォーマンスにどのような影響があるか
GC オーバーヘッドが高いと、いくつかの点で Jira Data Center インスタンスに大きな影響を及ぼす可能性があります。
ユーザー アクションの所要時間が増大する
システム スループットが低下し、課題の作成、更新、検索の各操作に影響します。
クラスター ノード間のパフォーマンスが一貫しない可能性があります。
同時接続ユーザーやリクエストの処理能力が低下します。
主要 GC 操作の実行中にアプリが一時停止したり、「stop-the-world」イベントが発生したりする可能性があります。
詳細については、ガベージ コレクション (GC) 調整ガイドを参照してください。
推奨事項
最適なパフォーマンスを実現するには、GC オーバーヘッドを 5% 未満に保つことを目指してください。常に 10% を超えている場合は、次のアクションを検討してください。
ノードを監視してヒープ サイズ設定を最適化する
ガベージ コレクションを分析して調整する
メモリ使用量を最適化する
自動ヒープ ダンプを設定する
ノードを監視してヒープ サイズ設定を最適化する
ノードのパフォーマンスを監視する
Jira ノードを定期的に監視することは、GC の問題を特定して対処するのに不可欠です。
[Jira 管理] > [システム] > [クラスタリング] にアクセスします。
各ノードの [メモリ] 列と [負荷] 列を確認します。
メモリ使用量または負荷が常に高いノードを特定します。
必要に応じて、問題のあるノードの再起動を検討します。
このステップは、問題を特定のノードに分離するのに役立ちます。また、クラスター全体のパフォーマンスの低下を防ぐことができます。Jira クラスターの監視の詳細については、こちらをご確認ください。
ヒープ サイズを最適化する
Jira Data Center でのガベージ コレクションが効率的に行われるようにするには、適切なヒープ サイズ設定が不可欠です。
現在のヒープ設定を確認します。
クラスター内の各ノードの現在のヒープ サイズ設定を確認します。
すべてのノードで一貫性を確保します。
ヒープ サイズを調整します。
現在のヒープ サイズ設定が小さすぎる場合は、ヒープ サイズを大きくすることを検討します。
本番環境に適用する前に、ヒープ サイズの変更をステージング環境でテストすることを忘れないでください。
ガベージ コレクションを分析して調整する
ガベージ コレクション プロセスを理解して最適化することで、GC オーバーヘッドを大幅に削減できます。
GC ログを確認する
GC ログ記録がまだ有効になっていない場合は有効にします。
GC パラメーターを調整する
大規模な (4 GB を超える) ヒープ用の G1 ガベージ コレクターを実装することを検討します。
Jira 利用状況パターンに基づいて GC アルゴリズムのパラメーターを調整します。
変更が GC オーバーヘッドとアプリ全体のパフォーマンスに及ぼす影響を監視します。
詳細については、ガベージ コレクション (GC) 調整ガイドを参照してください。
メモリ使用量を最適化する
メモリ使用量を効率的にすることで、GC オーバーヘッドを大幅に削減できます。
Jira インスタンスでメモリを大量に消費する操作を調査します。
大量のオブジェクトを作成するカスタム アプリ、ワークフロー、またはスクリプトを確認して最適化します。
使用されていないカスタマイズのうちメモリ圧迫の原因となっているものがあれば、削除または最適化することを検討します。
プラグインがメモリ使用量に及ぼす影響を監視し、メモリを大量に消費するプラグインを無効にするか、交換することを検討します。
パフォーマンスを定期的に確認して最適化することは、GC の問題が徐々に大きくなるのを防ぐのに役立ちます。
自動ヒープ ダンプを設定する
ヒープ ダンプを利用すると、メモリ使用量および潜在的なメモリ リークに関する貴重なインサイトが得ることができます。
自動ヒープ ダンプをセットアップします。
- 次の JVM プロパティを Jira 構成に追加します。
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/your/heapdump/directory
2. 指定したディレクトリに、ヒープ ダンプを保存するのに十分なディスク容量があることを確認します。
これらの変更を Jira Data Center クラスターのすべてのノードに一貫して実装することを忘れないでください。GC オーバーヘッドとパフォーマンス メトリックを定期的に監視して、最適なパフォーマンスを確保し、問題を早期に発見してください。
サポートを依頼する
推奨されるアクションを実装したにもかかわらず、GC オーバーヘッドがまだ高い場合は、アトラシアンに追加のサポートを依頼してください。
関連データを収集するには、次の手順に従います。
クラスター内のすべてのノードから GC ログを収集します。
GC オーバーヘッドが高い時期に生成されたヒープ ダンプを収集します。
パフォーマンス メトリックおよび関連するシステム ログをまとめます。
サポート チケットを作成するには、次の手順に従います。
新しいサポート チケットを作成します。
収集したすべてのデータを含む最新のサポート zip を添付します。
「GC ログを使用した Jira Server のパフォーマンスのトラブルシューティング」に記載されているガイダンスに従って、サポート リクエストを準備します。