このドキュメントでは、Apigee Edge for Private Cloud バージョン 4.53.00 以降に含まれている Cassandra 4.0.X の構成について説明します。ここで説明する構成の実行について詳しくは、付録のセクションをご覧ください。
ガベージ コレクタの構成
CMS の使用に切り替える
デフォルトでは、Apigee には Cassandra 4.X に推奨される G1 ガベージ コレクタが付属しています。ただし、さまざまなユースケースや独自のインフラストラクチャ(Edge for Private Cloud など)では、CMS ガベージ コレクタに切り替えることもできます。ヒープサイズが 8 GB を超える場合は、G1GC を使用することを強くおすすめします。
CMS ガベージ コレクタを使用するには、次の構成を設定します。
conf_jvm_options_gc_type=cms
G1 ガベージ コレクタの使用に戻すには、この構成を削除します。
CMS ガベージ コレクタの設定を変更する
Apigee には、CMS ガベージ コレクタのデフォルト パラメータが用意されています。これらのパラメータは、Cassandra が CMS を使用する場合に適用されます。これらのパラメータを変更するには、構成 conf_jvm_options_cms_gc_setting_lines
を使用します。CMS GC に関連するすべての JVM パラメータを 1 行に「\n」で区切って設定します。
例:
conf_jvm_options_cms_gc_setting_lines=-XX:+UseParNewGC\n-XX:+UseConcMarkSweepGC\n-XX:+CMSParallelRemarkEnabled\n-XX:SurvivorRatio=8\n-XX:MaxTenuringThreshold=1\n-XX:CMSInitiatingOccupancyFraction=75\n-XX:+UseCMSInitiatingOccupancyOnly\n-XX:CMSWaitDuration=10000\n-XX:+CMSParallelInitialMarkEnabled\n-XX:+CMSEdenChunksRecordAlways\n-XX:+CMSClassUnloadingEnabled
G1GC ガベージ コレクタの設定を変更する
Apigee には、G1 ガベージ コレクタのデフォルト パラメータが用意されています。これらのパラメータは、デフォルトの G1GC が有効になっている場合に適用されます。CMS に切り替えると、これらの設定は適用されません。G1GC パラメータを変更するには、構成 conf_jvm_options_g1_gc_setting_lines
を使用します。G1 GC に関連するすべての JVM パラメータを 1 行に「\n」で区切って設定します。
例:
conf_jvm_options_g1_gc_setting_lines=-XX:+UseG1GC\n-XX:G1RSetUpdatingPauseTimePercent=5\n-XX:MaxGCPauseMillis=500\n-XX:InitiatingHeapOccupancyPercent=50\n-XX:ParallelGCThreads=8\n-XX:ConcGCThreads=8\n-XX:+ParallelRefProcEnabled\n-XX:MaxTenuringThreshold=1\n-XX:G1HeapRegionSize=32m\n-XX:G1ReservePercent=15
独自の GC 設定を使用する
G1GC と CMS の両方について Apigee のプリセットをすべて無視するには、次の構成を設定します。
conf_jvm_options_gc_type=custom
JVM のすべての GC 設定を conf_jvm_options_custom_settings
に指定し、各設定を「\n」で区切ります。
例:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
ヒープサイズの構成
Apigee では、Cassandra を 8 GB 以下のヒープ空間で運用することを強くおすすめします。ヒープサイズを 8 GB に制限するチェックは $APIGEE_ROOT/apigee-cassandra/conf/cassandra-env.sh
にあります。
チェックを手動で無効にせずに独自のヒープサイズを指定するには、構成 conf_jvm_options_custom_settings
を使用します。各設定は「\n」で区切ります。
例:
conf_jvm_options_custom_settings=-Xmx8G\n-Xms8G
JVM の一般的な設定を構成する
Cassandra に JVM パラメータを追加するには、構成 conf_jvm_options_custom_settings
にすべての JVM 構成を 1 行に「\n」で区切って指定します。
例:
conf_jvm_options_custom_settings=-Dcassandra.start_rpc=true\n-Dcassandra.expiration_date_overflow_policy=CAP\n-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures
付録
Cassandra の構成を設定する方法
- Cassandra 構成のオーバーライド ファイルを作成または編集します。
vi $APIGEE_ROOT/customer/application/cassandra.properties
- 必要に応じて、構成行を追加、削除、変更します。
- ファイルを保存し、ファイルの所有者が「apigee」ユーザーであり、読み取り可能であることを確認します。
chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
- ノードで Cassandra サービスを再起動します。
apigee-service apigee-cassandra restart
- 各 Cassandra ノードでこれらの手順を 1 つずつ繰り返します。
さまざまなタイプの構成
構成 conf_jvm_options_custom_settings
は、さまざまなパラメータを Cassandra JVM に渡すことができます。さまざまな Java パラメータを 1 つの構成にまとめ、\n で区切ります。
例:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G