QPID 작업 가이드

Edge for Private Cloud 버전 4.52.01은 Qpid Broker-J 8.0.6과 함께 제공됩니다. 이 페이지에서는 프라이빗 클라우드용 Edge (자바 기반 브로커)의 apigee-qpidd 구성요소의 메모리 및 디스크 고려사항을 설명합니다. 아래 섹션에서는 특히 Apigee의 Qpid 사용 사례에 적용되며 Apigee의 구성 메커니즘을 사용하여 Qpid를 조정하는 방법을 설명합니다.

Apigee의 Qpid

Apigee에서 Qpid는 두 가지 기본 워크플로에서 사용됩니다.

  • 분석
  • 수익 창출

이러한 두 워크플로 모두에서 메시지 프로세서는 메시지를 생성하고, 이러한 메시지는 일괄적으로 수집되어 Qpid로 푸시됩니다. 애널리틱스의 경우 Qpid-server에서 메시지를 읽고, 수익 창출의 경우 등급 서버 (관리 서버의 일부)에서 메시지를 읽습니다. 읽은 후에는 일괄 처리된 메시지가 일괄 처리되지 않고 수집됩니다.

다음 섹션에서는 Qpid를 사용하는 메모리 및 디스크의 권장 구성을 설명합니다. 이 구성은 분석 또는 수익 창출에 사용되는 단일 메시지 크기(2KB)를 기반으로 합니다. 기본 배치 크기가 50이면 Qpid의 각 메시지는 약 100KB입니다. Apigee를 사용하면 프록시가 메시지를 수정하고 메시지(분석 또는 수익 창출)에 정보를 추가할 수 있습니다. 극단적인 경우에는 Qpid에서 단일 메시지와 일괄 처리된 전체 메시지의 크기가 크게 변경될 수 있습니다. 아래 섹션의 메모리 및 디스크와 관련된 일반적인 권장사항은 이러한 경우에도 적용되지만 원활한 작업을 위해 Qpid를 추가로 조정해야 할 수 있습니다.

메모리

Qpid Broker는 오프힙 메모리와 힙 메모리라는 두 가지 유형의 메모리를 사용합니다. Qpid는 오프 힙 메모리에 메시지를 저장하며 자체 내부 태스크, 큐 및 교환에 메시지를 전달하는 등의 작업에 힙 메모리를 사용합니다. 대부분의 상황에서 Apigee에서는 Qpid Broker에 오프 힙 메모리와 힙 메모리의 비율을 3:1로 유지하는 것이 좋습니다.

오프 힙 메모리의 메시지는 디스크에 유지됩니다. 또한 오프 힙 메모리의 총 사용률이 특정 기준을 위반하는 경우 Qpid는 메시지를 디스크로 오버플로하도록 구성됩니다.

기본적으로 Apigee는 노드에서 사용 가능한 메모리를 기준으로 Qpid Broker의 힙 및 오프 힙 메모리를 계산합니다. Apigee 스크립트에는 Qpid Broker의 힙과 오프 힙 메모리를 합쳐 4GB로 소프트 한도가 있습니다. 이러한 제한을 재정의하려면 아래의 두 구성을 사용하여 Qpid의 힙 및 오프 힙 메모리에 자체 값을 설정할 수 있습니다.

  • 힙 메모리 구성: bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
  • 오프힙 메모리 구성: bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m

구성을 재정의하는 방법에 대한 자세한 내용은 Qpid 구성을 변경하는 방법을 참조하세요.

자세한 내용은 메모리에 대한 Apache Qpid 참조를 확인하세요.

디스크

Qpid Broker의 데이터 디렉터리는 $APIGEE_ROOT/data/apigee-qpidd입니다. Qpid Broker의 로그는 $APIGEE_ROOT/var/log/apigee-qpidd에 저장됩니다.

데이터 디렉터리를 호스팅하는 파일 시스템의 성능은 브로커 전체 성능의 핵심입니다. 최상의 성능을 위해서는 지연 시간이 짧고 다른 애플리케이션에서 사용하지 않는 기기를 선택하세요.

Qpid Broker가 데이터 디렉터리에 메시지를 유지합니다. 기본적으로 브로커는 데이터 디렉터리를 호스팅하는 파일 시스템이 80% 채워질 때까지 메시지를 허용합니다. 각 Qpid 노드에서 아래 예시에 표시된 구성을 재정의하여 이 기준을 수정할 수 있습니다.

bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60

이 예시에서 브로커는 기본 파일 시스템이 60% 가득 차면 새 메시지를 거부합니다.

Qpid 구성을 변경하는 방법

Qpid 구성을 변경하려면 다음 단계를 따르세요.

  1. $APIGEE_ROOT/customer/application/qpidd.properties
    파일을 만들거나 수정합니다.
  2. 필요에 따라 구성을 추가, 삭제 또는 수정합니다. 예를 들어 Qpid Broker의 최대 힙 메모리를 6GB로 변경하려면 다음 구성 재정의를 파일에 추가합니다.
    bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
  3. 변경사항을 저장하고 apigee 사용자가 파일을 소유하고 읽을 수 있는지 확인합니다.
    chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
  4. qpidd 프로세스를 다시 시작합니다.
    apigee-service apigee-qpidd 재시작