トラフィックと処理の要件に応じて、Java ベースの Private Cloud コンポーネントを実行しているノードのヒープメモリ サイズまたはクラス メタデータ サイズの変更が必要になる場合があります。
このセクションでは、デフォルトおよび推奨の Java ヒープメモリ サイズと、デフォルトを変更するプロセスについて説明します。最後に、プロパティ ファイルを使用して他の JVM 設定を変更する方法について説明します。
デフォルトおよび推奨のヒープメモリ サイズ
次の表に、Java ベースの Private Cloud コンポーネントのデフォルトおよび推奨 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 の場合、ヒープサイズを 3 GB ~ 6 GB に設定することをおすすめします。ヒープサイズを 6 GB 以上に増やす場合は、必ずパフォーマンス テストを実施してください。
パフォーマンス テスト中にヒープ使用量が上限に近づいた場合は、上限を増やします。ヒープサイズの設定については、ヒープメモリ サイズを変更するをご覧ください。 |
|||
3 すべての Private Cloud コンポーネントが Java で実装されているわけではありません。Java ベースではないため、ホスト プラットフォームでネイティブに実行されるアプリには構成可能な Java ヒープサイズがありません。代わりに、ホストシステムでメモリ管理を行います。 |
ノードの Java ベースのコンポーネントに割り当てることが推奨される合計メモリ量を決定するには、そのノードのコンポーネントごとに上記の値を追加します。たとえば、Postgres サーバーと Qpid サーバーの両方をノードでホストしている場合、合計メモリ割り当てを 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 フォーラムのこちらの記事をご覧ください。