QPID 작업 가이드

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

Apigee의 Qpid

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

  • 분석
  • 수익 창출

이 두 워크플로에서 메시지 프로세서는 메시지를 생성하며, 메시지는 일괄 처리로 수집되어 Qpid로 푸시됩니다. 애널리틱스의 경우 Qpid-server에서 메시지를 읽고, 수익 창출의 경우 Rating Server (management-server의 일부)에서 메시지를 읽습니다. 읽은 일괄 메시지는 일괄 처리 해제되어 수집됩니다.

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

메모리

Qpid Broker는 오프힙 메모리와 힙 메모리라는 두 가지 유형의 메모리를 사용합니다. Qpid는 오프힙 메모리에 메시지를 저장하고, 자체 내부 작업, 대기열 및 교환 등에 힙 메모리를 사용합니다. 대부분의 경우 Apigee는 Qpid 브로커의 경우 힙 메모리와 힙 메모리 간의 비율을 3:1로 유지하는 것이 좋습니다.

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

기본적으로 Apigee는 노드에서 사용 가능한 메모리를 기준으로 Qpid 브로커의 힙 및 오프 힙 메모리를 계산합니다. Apigee의 스크립트에는 Qpid 브로커의 힙 및 오프 힙 메모리에 대해 합산된 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 브로커의 로그는 $APIGEE_ROOT/var/log/apigee-qpidd에 저장됩니다.

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

Qpid 브로커는 메시지를 데이터 디렉터리에 유지합니다. 기본적으로 브로커는 데이터 디렉터리를 호스팅하는 파일 시스템이 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 다시 시작