QPID オペレーション ガイド

Edge for Private Cloud バージョン 4.53.00 には、Qpid Broker-J 8.0.6 が付属しています。このページでは、以下について説明します。 メモリとディスクに関する考慮事項は Edge for Private Cloud の apigee-qpidd コンポーネント(Java ベースのブローカーを使用)。 以下のセクションは、特に Apigee の Qpid のユースケースと、Apigee の構成メカニズムを使用して Qpid をチューニングする方法について説明します。

Apigee での Qpid

Apigee では、Qpid は次の 2 つの主要なワークフローで使用されます。

  • アナリティクス
  • 収益化

どちらのワークフローでも、Message Processor はメッセージを生成し、バッチに収集して Qpid に push します。アナリティクスの場合、メッセージは Qpid サーバーが読み取ります。収益化の場合、メッセージはレーティング サーバー(管理サーバーの一部)によって読み取られます。読み取られたバッチ化されたメッセージはバッチ化解除され、取り込まれます。

以降のセクションでは、Google Compute Engine リソースのメモリとディスクの推奨構成について説明します。 Qpid。これらの構成は、アナリティクスまたは 収益化。 デフォルトのバッチサイズが 50 の場合、Qpid の各メッセージは約 100 KB になります。Apigee では、プロキシがメッセージを変更して追加情報を追加できます(アナリティクスまたは収益化)。極端な場合、これにより、Qpid 内の 1 つのメッセージのサイズとバッチ処理されたメッセージの全体的なサイズが大幅に変わる可能性があります。一般的な そのような場合でも、以下のセクションのメモリとディスクに関する推奨事項があてはまります。 スムーズな動作を実現するために、Qpid に追加の調整が必要になる場合があります。

メモリ

Qpid Broker は、オフヒープ メモリとヒープメモリの 2 種類のメモリを使用します。Qpid はメッセージを オフヒープ メモリで、独自の内部タスク、ダイレクト レスポンス、 メッセージをキューやエクスチェンジなどにルーティングできます。ほとんどの場合、Apigee では Qpid ブローカーのオフヒープとヒープメモリの比率は 3:1。

オフヒープ メモリ内のメッセージはディスク上に保持されます。また、VM の総使用量が オフヒープ メモリが特定のしきい値を超えた場合、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 ブローカーのログは $APIGEE_ROOT/var/log/apigee-qpidd に保存されます。

データ ディレクトリをホストするファイル システムのパフォーマンスは、Broker 全体のパフォーマンスの鍵となります。最高のパフォーマンスを得るには、低レイテンシで 他のアプリケーションでは使われません。

Qpid ブローカーは、メッセージをデータ ディレクトリに保持します。デフォルトでは、ブローカーは 最大 80% に達するまで待機します。この設定は 各 Qpid ノードで以下の例に示す構成をオーバーライドして、しきい値を低くできます。

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

この例では、基盤となるファイル システムが 60% になると、ブローカーは新しいメッセージを拒否します。 。

Qpid 構成を変更する方法

Qpid 構成を変更するには:

  1. 次のファイルを作成または編集します。
    $APIGEE_ROOT/customer/application/qpidd.properties
  2. 必要に応じて、構成を追加または削除または変更します。 たとえば、Qpid Broker の最大ヒープメモリを 6 GB に変更するには、ファイルに次の構成オーバーライドを追加します。
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. 変更を保存し、apigee ユーザーがファイルの所有者であり、読み取れるようにします。
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. qpidd プロセスを再起動します。
    apigee-service apigee-qpidd の再起動