Edge for Private Cloud v4.19.01
トラフィックと処理の要件によっては、Java ベースのプライベート クラウド コンポーネントを実行するノードのヒープメモリ サイズまたはクラス メタデータ サイズを変更する必要があります。
このセクションでは、デフォルトの Java ヒープメモリ サイズと推奨される Java ヒープメモリ サイズ、およびデフォルトを変更するプロセスについて説明します。最後に、このセクションでは、プロパティ ファイルを使用して他の JVM 設定を変更する方法について説明します。
デフォルトと推奨のヒープメモリ サイズ
次の表に、Java ベースのプライベート クラウド コンポーネントのデフォルトの Java ヒープメモリ サイズと推奨される Java ヒープメモリ サイズを示します。
| コンポーネント | プロパティ ファイル名 | デフォルト ヒープサイズ |
推奨 ヒープサイズ |
|---|---|---|---|
| ランタイム | |||
| Cassandra | なし | 自動構成1 | 自動構成1 |
| Message Processor | message-processor.properties |
512 MB | 3 GB ~ 6 GB2 |
| ルーター | router.properties |
512 MB | 512 MB |
| アナリティクス | |||
| Postgres サーバー | postgres-server.properties |
512 MB | 512 MB |
| Qpid サーバー | qpid-server.properties |
512 MB | 2 GB ~ 4 GB |
| 管理 | |||
| 管理サーバー | management-server.properties |
512 MB | 512 MB |
| UI | ui.properties |
512 MB | 512 MB |
| OpenLDAP | なし | ネイティブ アプリ3 | ネイティブ アプリ3 |
| Zookeeper | zookeeper.properties |
2,048 MB | 2,048 MB |
| メモ | |||
1 Cassandra は、起動時に最大ヒープサイズを動的に計算します。現在、これはシステムメモリの合計の半分で、最大 8,192 MB です。ヒープサイズの設定については、ヒープメモリ サイズを変更するをご覧ください。 |
|||
| 2 Message Processor の場合、Apigee ではヒープサイズを 3 GB ~ 6 GB に設定することをおすすめします。ヒープサイズを 6 GB より大きくするのは、パフォーマンス テストを実施した後だけにしてください。 パフォーマンス テスト中にヒープ使用量が上限に近づいた場合は、上限を引き上げます。ヒープサイズの設定については、ヒープメモリ サイズを変更するをご覧ください。 |
|||
| 3 すべてのプライベート クラウド コンポーネントが Java で実装されているわけではありません。ホスト プラットフォーム上でネイティブに実行されるアプリは Java ベースではないため、Java ヒープサイズを構成できません。代わりに、メモリ管理をホストシステムに依存します。 | |||
Apigee がノード上の Java ベースのコンポーネントに割り当てることを推奨する合計メモリ量を決定するには、そのノード上の各コンポーネントについて上記の値を加算します。たとえば、ノードが Postgres サーバーと Qpid サーバーの両方をホストしている場合、Apigee では、メモリ割り当ての合計を 2.5 GB ~ 4.5 GB にすることをおすすめします。
必要なハードウェア(RAM など)の一覧については、インストールの要件をご覧ください。
ヒープメモリ サイズを変更する
ヒープメモリの設定を変更するには、コンポーネントのプロパティ ファイルを編集します。たとえば、Message Processor の場合は、/opt/apigee/customer/application/message-processor.properties ファイルを編集します。
message-processor.properties ファイルが存在しない場合、または Edge コンポーネントに対応する .properties ファイルが存在しない場合は、ファイルを作成し、ファイルの所有権を「apigee」ユーザーに変更します。次に例を示します。
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
コンポーネントが複数のマシン(Message Processor など)にインストールされている場合は、コンポーネントをホストするすべてのマシンでプロパティ ファイルを編集する必要があります。
次の表に、ヒープサイズを変更するために編集するプロパティを示します。
| プロパティ | 説明 |
|---|---|
bin_setenv_min_mem |
最小ヒープサイズ。デフォルトは、デフォルトと推奨のヒープメモリ サイズに記載されている値に基づいています。 この設定は、Java の |
bin_setenv_max_mem |
最大ヒープサイズ。デフォルトは、デフォルトと推奨のヒープメモリ サイズに記載されている値に基づいています。 この設定は、Java の |
bin_setenv_meta_space_size |
デフォルトのクラス メタデータ サイズ。デフォルト値は この設定は、Java の |
ノードでヒープサイズ プロパティを設定する場合は、次の例に示すように、サフィックス「m」を使用してメガバイトを示します。
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
プロパティ ファイルに値を設定したら、コンポーネントを再起動します。
/opt/apigee/apigee-service/bin/apigee-service component restart
次に例を示します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
他の JVM プロパティを変更する
上記のプロパティで制御されない Java 設定については、Edge コンポーネント用の対応するプロパティ ファイルで次の設定を行うこともできます。
bin_setenv_ext_jvm_opts: 他のプロパティによって指定されない任意の Java プロパティを設定します。次に例を示します。bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500
ただし、
-Xms、-Xmx、-XX:MetaspaceSizeの設定にbin_setenv_ext_jvm_optsを使用しないでください。これらの値は、上記のプロパティによって制御されます。
Private Cloud コンポーネントのメモリ構成に関するその他のヒントについては、Edge フォーラムのこちらの記事をご覧ください。