Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動します。 情報
このドキュメントでは、Apigee Edge の Message Processor で Garbage First Garbage Collector(G1GC)を有効にする方法について説明します。
Apigee Edge の Message Processor は Java 仮想マシン(JVM)で実行され、ハードウェアとオペレーティング システムの構成に応じて、デフォルトのガベージ コレクタ(シリアルまたは並列)を使用します。状況によっては、ニーズに応じて、Message Processor で使用されるガベージ コレクタのタイプを変更することが必要になる場合があります。
G1GC は、Java HotSpot VM 用の低一時停止のサーバー スタイルの世代別ガベージ コレクタで、Message Processor の全体的なパフォーマンスを向上させます。通常、全体的なスループットよりもレスポンス時間が重要な中規模から大規模のデータセットを使用するアプリケーション向けに設計されています。たとえば、ヒープサイズが大きい(3 GB を超える)場合は、G1GC の使用を検討できます。
通常は、G1GC とともに別の JVM パラメータ UseStringDeduplication を設定することをおすすめします。このパラメータは、重複する文字列値または同一の文字列値が同じ文字配列を共有するようにすることで、Java ヒープメモリの使用量を最適化します。
始める前に
- Java のガベージ コレクションとさまざまなタイプのガベージ コレクタについて理解を深めるには、Java ガベージ コレクションの基本をご覧ください。
- G1GC に慣れていない場合は、G1 ガベージ コレクタのスタートガイドをご覧ください。
- Private Cloud で Edge のプロパティを構成する方法について詳しくは、Edge の構成方法をご覧ください。
Message Processor で G1GC を有効にする
このセクションでは、Edge Message Processor で G1GC を有効にする方法について説明します。G1GC は、Message Processor コンポーネントのプロパティ useG1GC を使用して有効にできます。デフォルトでは、このプロパティは Message Processor で false に設定されています。Message Processor のプロパティを構成するには、Edge の構成方法で説明されている構文に従ってトークンを使用します。
Message Processor で G1GC を有効にするには、次の操作を行います。
useG1GC プロパティのトークンを探す
次の手順では、useG1GC プロパティのトークンを見つける方法について説明します。
- 次のコマンドを使用して、Message Processor のソース ディレクトリ
/opt/apigee/edge-message-processor/sourceでuseG1GCプロパティを検索します。grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
-
このコマンドの出力には、次のようにメッセージ プロセッサのプロパティ
useG1GCのトークンが表示されます。/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}ここで、
{T}{/T}タグで囲まれた文字列は、Message Processor の.propertiesファイルで設定できるトークンの名前です。したがって、プロパティuseG1GCのトークンは次のようになります。conf_system_useG1GC
Message Processor で G1GC を有効にする
Apigee Message Processor で G1GC を有効にする手順は次のとおりです。
-
メッセージ プロセッサ マシンで
/opt/apigee/customer/application/message-processor.propertiesファイルをエディタで開きます。ファイルが存在しない場合は作成します。次に例を示します。vi /opt/apigee/customer/application/message-processor.properties
-
このファイルに次の行を追加します。
conf_system_useG1GC=true
- 変更を保存します。
-
このプロパティ ファイルの所有者が
apigeeユーザーであることを確認します。次に例を示します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
次のコマンドを使用して Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 複数の Message Processor がある場合は、すべての Message Processor で上記の手順を繰り返します。
Message Processor での G1GC 構成の確認
このセクションでは、Message Processor で G1GC 構成が正常に変更されたことを確認する方法について説明します。
トークン conf_system_useG1GC を使用して Message Processor で G1GC を有効にしても、実際のプロパティ useG1GC が次のように新しい値で設定されていることを確認する必要があります。
-
/opt/apigee/edge-message-processor/confディレクトリでプロパティuseG1GCを検索し、新しい値が設定されていることを確認します。次に例を示します。grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
-
Message Processor で G1GC が正常に有効になっている場合、前のコマンドは
system.propertiesファイルに新しい値を表示します。Message Processor で G1GC を有効にした後の、上記のコマンドのサンプル結果は次のとおりです。
/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
出力例では、プロパティ
useG1GCがsystem.propertiesの新しい値trueで設定されていることに注意してください。これは、Message Processor で G1GC が正常に有効になったことを示します。 -
プロパティ
useG1GCの古い値がまだ表示される場合は、Message Processor で G1GC を有効にするに記載されているすべての手順を正しく実行したことを確認します。手順を間違えた場合は、すべての手順を正しく繰り返します。 - それでも G1GC を有効にできない場合は、Apigee Edge サポートにお問い合わせください。