Edge for Private Cloud バージョン 4.52.01 には、Qpid Broker-J 8.0.6 が付属しています。このページでは、Edge for Private Cloud(Java ベースのブローカーを含む)の apigee-qpidd
コンポーネントに関するメモリとディスクの考慮事項について説明します。以下のセクションは、特に Apigee の Qpid ユースケースに適用され、Apigee の構成メカニズムを使用して Qpid をチューニングする方法について説明します。
Apigee の Qpid
Apigee では、Qpid は次の 2 つの主要なワークフローで使用されます。
- 分析
- 収益化
どちらのワークフローでも、Message Processor によってメッセージが生成され、バッチに収集されて Qpid に push されます。アナリティクスの場合、メッセージは Qpid-server によって読み取られ、収益化の場合は Rating Server(management-server の一部)によって読み取られます。読み取られると、バッチ処理されたメッセージはバッチ処理されず、取り込まれます。
推奨構成
以降のセクションでは、Qpid を使用したメモリとディスクの推奨構成について説明します。これらの構成は、アナリティクスまたは収益化の単一メッセージ サイズ 2 KB に基づいています。デフォルトのバッチサイズ 50 では、Qpid 内の各メッセージのサイズは約 100 KB になります。Apigee を使用すると、プロキシはメッセージ(分析または収益化)を変更してメッセージに追加できます。極端なケースでは、これにより Qpid で単一メッセージのサイズとバッチ処理されたメッセージ全体が大幅に変更される可能性があります。このような場合でも、以下のセクションのメモリとディスクに関する一般的な推奨事項は有効ですが、スムーズに処理するために Qpid をさらに微調整する必要がある場合があります。
メモリ
Qpid Broker は、オフヒープ メモリとヒープメモリの 2 種類のメモリを使用します。Qpid はメッセージをオフヒープ メモリに保存し、自身の内部タスク、キューへのダイレクト メッセージ、交換などにヒープメモリを使用します。ほとんどの場合、Qpid ブローカーのオフヒープメモリとヒープメモリの比率を 3:1 にすることをおすすめします。
オフヒープ メモリ内のメッセージはディスク上に残ります。さらに、オフヒープ メモリの合計使用率が特定のしきい値を超えた場合、Qpid はメッセージをディスクにオーバーフローするように構成されます。
デフォルトでは、Apigee はノード上の使用可能なメモリに基づいて Qpid Broker のヒープとオフヒープ メモリを計算します。Apigee のスクリプトには、Qpid Broker のヒープとオフヒープ メモリを合計して 4 GB のソフトリミットがあります。これらの上限をオーバーライドする場合は、以下の 2 つの構成を使用して、Qpid のヒープとオフヒープ メモリに独自の値を設定できます。
- ヒープメモリの構成:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
- オフヒープ メモリの構成:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
構成をオーバーライドする方法については、Qpid 構成を変更する方法をご覧ください。
詳細については、 メモリの Apache Qpid リファレンスをご覧ください。
ディスク
Qpid Broker のデータ ディレクトリは $APIGEE_ROOT/data/apigee-qpidd
です。Qpid Broker のログは $APIGEE_ROOT/var/log/apigee-qpidd
に保存されます。
データ ディレクトリをホストするファイル システムのパフォーマンスは、ブローカー全体のパフォーマンスにとって重要です。最適なパフォーマンスを得るには、レイテンシが低く、他のアプリで使用されていないデバイスを選択します。
Qpid ブローカーは、そのメッセージをデータ ディレクトリに保持します。デフォルトでは、ブローカーは、データ ディレクトリをホストするファイル システムの使用率が 80% になるまでメッセージを受け入れます。このしきい値を変更するには、各 Qpid ノードで次の例に示す構成をオーバーライドします。
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
この例では、基盤となるファイル システムの使用率が 60% に達するとブローカーが新しいメッセージを拒否します。
Qpid 構成を変更する方法
Qpid 構成を変更するには:
- ファイル
$APIGEE_ROOT/customer/application/qpidd.properties
を作成または編集します。 - 必要に応じて、構成を追加または削除または変更します。たとえば、Qpid Broker の最大ヒープメモリを 6 GB に変更するには、次の構成オーバーライドをファイルに追加します。
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- 変更を保存し、
apigee
ユーザーがファイルを所有し、読み取り可能であることを確認します。chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
qpidd
プロセスを再起動します。apigee-service apigee-qpidd の再起動