이 문서에서는 Private Cloud용 Apigee Edge 버전 4.53.00 이상에 포함된 Cassandra 4.0.X의 구성을 다룹니다. 여기에 설명된 구성을 실행하는 방법에 관한 자세한 내용은 부록 섹션을 참고하세요.
가비지 수집기 구성
CMS 사용으로 전환
기본적으로 Apigee는 Cassandra 4.X에 권장되는 G1 가비지 컬렉터와 함께 Cassandra를 제공합니다. 그러나 다양한 사용 사례와 자체 인프라의 경우(예: 프라이빗 클라우드용 Edge) CMS 가비지 컬렉터로 전환할 수 있습니다. 힙 크기가 8GB를 초과하는 경우 Apigee는 G1GC를 사용하는 것이 좋습니다.
CMS 가비지 컬렉터를 사용하려면 다음 구성을 설정합니다.
conf_jvm_options_gc_type=cms
G1 가비지 컬렉터를 사용하도록 되돌리려면 이 구성을 삭제합니다.
CMS 가비지 수집기 설정 수정
Apigee는 CMS 가비지 컬렉터의 기본 매개변수를 제공합니다. 이 매개변수는 Cassandra에서 CMS를 사용할 때 적용됩니다. 이러한 매개변수를 변경하려면 구성 conf_jvm_options_cms_gc_setting_lines
을 사용하세요. CMS GC와 관련된 모든 JVM 매개변수를 '\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 매개변수를 단일 줄에 '\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
conf_jvm_options_custom_settings
에서 JVM의 모든 GC 설정을 지정하고 각 설정을 '\n'으로 구분합니다.
예:
conf_jvm_options_gc_type=custom
conf_jvm_options_custom_settings=-XX:+UseParallelGC\n-XX:GCTimeRatio=19
힙 크기 구성
Apigee에서는 힙 공간이 8GB 이하인 상태에서 Cassandra를 운영하는 것이 좋습니다. 힙 크기를 8GB로 제한하는 검사는 $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 구성을 '\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 노드에서 이 단계를 하나씩 반복합니다.
다양한 구성 유형
구성 conf_jvm_options_custom_settings
는 Cassandra JVM에 다양한 매개변수를 전달할 수 있습니다. 여러 Java 매개변수를 단일 구성으로 결합하고 '\n'으로 구분합니다.
예:
conf_jvm_options_custom_settings=-XX:+FlightRecorder\n-XX:+UnlockCommercialFeatures\n-Xmx8G\n-Xms8G