トラフィックと処理の要件によっては、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 サーバーの両方をホストする場合、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 フォーラムのこちらの記事をご覧ください。