트래픽 및 처리 요구사항에 따라 Java 기반 프라이빗 클라우드 구성요소를 실행하는 노드의 힙 메모리 크기 또는 클래스 메타데이터 크기를 변경해야 할 수 있습니다.
이 섹션에서는 기본값 및 권장 Java 힙 메모리 크기와 기본값을 변경하는 프로세스를 제공합니다. 마지막으로 이 섹션에서는 속성 파일을 사용하여 다른 JVM 설정을 변경하는 방법을 설명합니다.
기본 및 권장 힙 메모리 크기
다음 표에는 Java 기반 프라이빗 클라우드 구성요소의 기본 및 권장 Java 힙 메모리 크기가 나와 있습니다.
구성요소 | 속성 파일 이름 | 기본값 힙 크기 |
권장 힙 크기 |
---|---|---|---|
런타임 | |||
Cassandra | 해당 사항 없음 | 자동으로 구성됨1 | 자동으로 구성됨1 |
메시지 프로세서 | message-processor.properties |
512MB | 3GB~6GB2 |
라우터 | router.properties |
512MB | 512MB |
애널리틱스 | |||
Postgres 서버 | postgres-server.properties |
512MB | 512MB |
Qpid 서버 | qpid-server.properties |
512MB | 2GB~4GB |
관리 | |||
관리 서버 | management-server.properties |
512MB | 512MB |
UI | ui.properties |
512MB | 512MB |
OpenLDAP | 해당 사항 없음 | 네이티브 앱3 | 네이티브 앱3 |
Zookeeper | zookeeper.properties |
2,048MB | 2,048MB |
참고 | |||
1 Cassandra는 시작 시 최대 힙 크기를 동적으로 계산합니다. 현재 총 시스템 메모리의 절반이며 최대 8,192MB입니다. 힙 크기 설정에 관한 자세한 내용은 힙 메모리 크기 변경을 참고하세요. |
|||
2 메시지 프로세서의 경우 Apigee에서는 힙 크기를 3GB~6GB로 설정하는 것이 좋습니다. 성능 테스트를 수행한 후에만 힙 크기를 6GB 이상으로 늘립니다.
성능 테스트 중에 힙 사용량이 최대 한도에 가까워지면 최대 한도를 늘립니다. 힙 크기 설정에 관한 자세한 내용은 힙 메모리 크기 변경을 참고하세요. |
|||
3 일부 Private Cloud 구성요소는 Java로 구현되지 않습니다. Java 기반이 아니므로 호스트 플랫폼에서 네이티브로 실행되는 앱에는 구성 가능한 Java 힙 크기가 없습니다. 대신 메모리 관리를 위해 호스트 시스템을 사용합니다. |
Apigee에서 노드의 Java 기반 구성요소에 할당할 것을 권장하는 총 메모리 양을 확인하려면 해당 노드의 각 구성요소에 대해 위에 나열된 값을 추가합니다. 예를 들어 노드에서 Postgres 및 Qpid 서버를 모두 호스팅하는 경우 Apigee는 결합된 메모리 할당을 2.5GB~4.5GB로 권장합니다.
필요한 하드웨어 (예: RAM) 목록은 설치 요구사항을 참고하세요.
힙 메모리 크기 변경
힙 메모리 설정을 변경하려면 구성요소의 속성 파일을 편집합니다. 예를 들어 메시지 프로세서의 경우 /opt/apigee/customer/application/message-processor.properties
파일을 수정합니다.
message-processor.properties
파일이 없거나 Edge 구성요소에 해당하는 .properties
파일이 없는 경우 이 파일을 만든 후 다음 예시와 같이 파일의 소유권을 'Apigee' 사용자로 변경합니다.
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
구성요소가 메시지 프로세서와 같이 여러 머신에 설치된 경우 구성요소를 호스팅하는 모든 머신에서 속성 파일을 수정해야 합니다.
다음 표에는 힙 크기를 변경하기 위해 수정하는 속성이 나와 있습니다.
속성 | 설명 |
---|---|
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 구성요소에 JVM 플래그 또는 값을 추가로 전달할 수도 있습니다. *.properties
파일은 Bash에서 읽히며 리터럴 문자를 유지하려면 '
(작은따옴표)로 묶어야 하고 셸 확장이 필요한 경우 "
(큰따옴표)로 묶어야 합니다.
bin_setenv_ext_jvm_opts
: 다른 속성으로 지정되지 않은 Java 속성을 설정합니다. 예를 들면 다음과 같습니다.bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
하지만
bin_setenv_ext_jvm_opts
를 사용하여-Xms
,-Xmx
또는-XX:MetaspaceSize
를 설정하지 마세요. 이러한 값은 위에 나열된 속성으로 제어됩니다.
프라이빗 클라우드 구성요소의 메모리 구성에 관한 추가 도움말은 Edge 포럼의 이 도움말을 참고하세요.