ガベージ コレクション (GC) のチューニング

Jira アプリケーションは、詳細なガベージ コレクション (GC) チューニングはあまり必要としない、堅牢なアプリケーションです。ただし、大規模なインストールでは、GC チューニングによって Jira アプリケーションのパフォーマンスを改善できる場合があります。また、GC ログの分析はパフォーマンスの問題のトラブルシューティングにも役立ちます。このページは、ガベージ コレクションを改善する基本的な推奨事項を示す、高度な GC チューニング ガイドの入門です。ここで案内する推奨事項は、大規模な Jira インスタンスのお客様におけるサポートの実際の成功に基づいています。

次のような場合、ガベージ コレクションについての知識が必要です。

  • Jira のメモリまたは CPU 消費量が多い、または
  • Jira の速度が遅い、または停止することがある

ガベージ コレクションのチューニング

GC パフォーマンスの確認

The first step towards improving GC is actually measuring the GC performance of the JVM to see the size of the problem. You can do it by viewing and analyzing the GC logs. The logs indicate when the JVM is collecting garbage, how long this process takes, and how much memory has been freed. Starting from JIRA 7.4, GC logs are generated automatically, and you can find them in <installation-directory>/logsGCViewer is a great tool for analyzing GC logs. To enable garbage collection in earlier JIRA versions, see Using garbage collection logs.

ガベージ コレクタ

アトラシアン サポートからの指示がない限り、Concurrent Mark Sweep (CMS) コレクタは使用しないようにしてください。このコレクタは手動による広範なチューニングとテストを必要とし、パフォーマンスを低下させる可能性があります。代わりに、Garbage First Garbage Collector (G1GC) の使用をお勧めします (特にヒープが 6 GB より大きい場合)。

ヒープ サイズ

最小のヒープから開始し、OutOfMemory エラーが生じた場合やメモリ関連の問題が発生した場合は割り当てを 512 MB または 1 GB 増やします。ガベージ コレクションに要する時間が長くなるため、必要以上にヒープを増やさないようにしてください。ガベージ コレクションの後、使用メモリは合計ヒープ サイズの 1/3 にする必要があり、これが目標です。

古いチューニング パラメーター

フル ガベージ コレクションのたびに、JVM は実際のスループットに応じて、Eden 領域や Survivor 領域などへの割り当てサイズを変更します。JVM は、作成、収集されるオブジェクトの実環境データに基づいて、自身のチューニングを行います。ほとんどの場合、JVM 自身にチューニングをまかせておく方がパフォーマンスが向上します。

過去に JVM パラメーターを追加したことがあり、現在 GC に問題が発生している場合、すべての GC 関連のパラメーターを削除するようお勧めします。ただし、特定の問題を解決するためにそのパラメーターを追加し、実際に問題が解決された場合は別です。また、パラメーターが今もその問題を解決していて、他の問題を引き起こしていないことを確認するために、今すぐ再ベンチマークの実行を検討する必要があります。

VM リソース

VM 上で JIRA を実行する場合、スワップ ファイルを使用していないことを確認します。使用している場合は、JVM ガベージ コレクションの際、スワップファイルからオブジェクトをメモリにロードする必要があり、これによって GC 一時停止時間が著しく長くなる可能性があります。スワッピングやバルーニング、バースティングを行うのではなく、VM に十分なメモリを割り当てます。

手動によるチューニング

以上の推奨事項を実施したあとも、GC の問題が継続していて、JVM チューニングの改善によりパフォーマンスを向上させることが可能かどうか確認したい場合は、ガベージコレクション(GC)チューニング ガイド の手順に従うことをお勧めします。このドキュメントでは、パフォーマンス目標 (スループット / フットプリント / レイテンシ) を選択するプロセスと、これらの目標を達成するためにチューニングする方法を説明しています。

最終更新日: 2017 年 12 月 19 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.