トラフィックと処理の要件によっては、Java ベースのプライベート クラウド コンポーネントを実行するノードのヒープメモリ サイズまたはクラス メタデータ サイズを変更する必要があります。
このセクションでは、デフォルトと推奨の Java ヒープメモリ サイズと、デフォルトを変更する手順について説明します。最後に、このセクションでは、プロパティ ファイルを使用して他の JVM 設定を変更する方法について説明します。
デフォルトと推奨のヒープメモリ サイズ
次の表に、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 | 2GB - 4GB |
| 管理 | |||
| 管理サーバー | management‑server.properties |
512 MB | 512 MB |
新しい Edge UI(edge-management-ui) |
なし | ネイティブ アプリ3 | ネイティブ アプリ3 |
| SymasLDAP | なし | ネイティブ アプリ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 ヒープサイズを構成できません。代わりに、メモリ管理をホストシステムに依存します。 | |||
ノード上の 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
ただし、
bin_setenv_ext_jvm_optsを使用して-Xms、-Xmx、-XX:MetaspaceSizeを設定しないでください。これらの値は、上記のプロパティによって制御されます。
Private Cloud コンポーネントのメモリ構成に関するその他のヒントについては、Edge フォーラムのこちらの記事をご覧ください。