Message Processor で G1GC を有効にする

現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください
情報

このドキュメントでは、Apigee Edge の Message Processor で G1GC(ガベージ ファースト ガベージ コレクタ)を有効にする方法について説明します。

Apigee Edge の Message Processor は Java 仮想マシン(JVM)上で動作し、デフォルトのガベージ コレクタ(ハードウェアとオペレーティング システムの構成に応じてシリアルまたは並列)を使用します。特定の状況やニーズに応じて、Message Processor で使用されるガベージ コレクタのタイプを変更できます。

G1GC は、Java HotSpot VM 用の低一時停止サーバースタイルの世代別ガベージ コレクタです。これにより、Message Processor の全体的なパフォーマンスが向上します。これは通常、全体的なスループットよりも応答時間が重要である、中規模から大規模のデータセットを持つアプリケーション向けに設計されています。たとえば、ヒープサイズが大きい(3 GB を超える)場合は、G1GC の使用を検討してください。

通常は、G1GC とともに別の JVM パラメータ UseStringDeduplication を設定することが推奨されます。このパラメータは、重複または同一の String 値が同じ文字配列を共有することで、Java ヒープメモリ使用量を最適化します。

始める前に

Message Processor で G1GC を有効にする

このセクションでは、Edge Message Processor で G1GC を有効にする方法について説明します。G1GC は、Message Processor コンポーネントのプロパティ useG1GC を使用して有効にできます。デフォルトでは、このプロパティは Message Processor で false に設定されます。Message Processor のプロパティを構成するには、Edge の構成方法で説明されている構文に従ってトークンを使用します。

Message Processor で G1GC を有効にするには、次の操作を行います。

  1. useG1GC プロパティのトークンを検索する
  2. Message Processor で G1GC を有効にする

useG1GC プロパティのトークンを見つける

useG1GC プロパティのトークンを確認する手順は次のとおりです。

  1. 次のコマンドを使用して、Message Processor のソース ディレクトリ /opt/apigee/edge-message-processor/sourceuseG1GC プロパティを検索します。
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
    
  2. このコマンドの出力には、Message Processor のプロパティ 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 を有効にする手順は次のとおりです。

  1. Message Processor マシンの /opt/apigee/customer/application/message-processor.properties ファイルをエディタで開きます。ファイルがまだ存在しない場合は作成します。次に例を示します。
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. このファイルに次の行を追加します。
    conf_system_useG1GC=true
    
  3. 変更を保存します。
  4. このプロパティ ファイルの所有者を apigee ユーザーに設定します。次に例を示します。
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. 次のコマンドを使用して Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. 複数の Message Processor がある場合は、すべての Message Processor でこの手順を繰り返します。

Message Processor で G1GC の構成を確認する

このセクションでは、Message Processor で G1GC の構成が正しく変更されていることを確認する方法について説明します。

トークン conf_system_useG1GC を使用して Message Processor で G1GC を有効にした場合でも、実際のプロパティ useG1GC が次のように新しい値に設定されていることを確認する必要があります。

  1. /opt/apigee/edge-message-processor/conf ディレクトリでプロパティ useG1GC を検索し、新しい値が設定されていることを確認します。次に例を示します。
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
    
  2. Message Processor で G1GC が正常に有効になると、上記のコマンドにより system.properties ファイルに新しい値が表示されます。

    Message Processor で G1GC を有効にした後、前述のコマンドのサンプル結果は次のようになります。

    /opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
    

    この出力例では、プロパティ useG1GCsystem.properties の新しい値 true が設定されています。これは、Message Processor で G1GC が正常に有効になっていることを示します。

  3. プロパティ useG1GC に古い値が引き続き表示される場合は、Message Processor で G1GC を有効にするで説明されているすべての手順が正しく行われていることを確認します。失敗した手順がある場合は、すべての手順を正しく繰り返します。
  4. それでも G1GC を有効にできない場合は、Apigee Edge サポートにお問い合わせください。

次のステップ

Message Processor で文字列の重複除去を有効にする