QPID 작업 가이드

Edge Private Cloud 버전 4.53.00에는 Qpid Broker-J 8.0.6이 함께 제공됩니다. 이 페이지에서는 메모리 및 디스크 고려사항 Private Cloud용 Edge의 apigee-qpidd 구성요소 (Java 기반 브로커 사용) 아래 섹션은 특히 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 Broker의 힙 및 오프힙 메모리를 계산합니다. 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 구성 변경 방법을 참고하세요.

자세한 내용은 <ph type="x-smartling-placeholder"></ph> 메모리용 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 브로커의 최대 힙 메모리를 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 다시 시작