トラフィックと処理の要件によっては、Java ベースの Private Cloud コンポーネントを実行しているノードのヒープメモリ サイズまたはクラス メタデータ サイズを変更する必要があります。
このセクションでは、Java ヒープのデフォルト メモリサイズと推奨サイズ、およびデフォルトを変更するプロセスについて説明します。このセクションでは、プロパティ ファイルを使用して他の JVM 設定を変更する方法について説明します。
デフォルトと推奨されるヒープメモリ サイズ
次の表に、Java ベースの Private Cloud コンポーネントのデフォルトの 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 Server | 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
ただし、
bin_setenv_ext_jvm_opts
を使用して-Xms
、-Xmx
、-XX:MetaspaceSize
を設定しないでください。これらの値は、上記のプロパティによって制御されます。
Private Cloud コンポーネントのメモリ構成に関する追加のヒントについては、Edge フォーラムのこちらの記事をご覧ください。