메시지 프로세서에서 L1 캐시 만료 설정

Apigee Edge는 데이터 지속성을 위한 캐싱 제공 전체 요청 수에 따라 달라집니다 수신된 API 데이터는 짧은 기간 동안 캐시에 저장됩니다. 삭제할 수 있습니다 데이터가 삭제되기 전에 보관되는 최대 기간 캐시의 만료 또는 TTL (수명)이라고 합니다. 각 캐시에는 기본 TTL이 있지만 경우에 따라 TTL 값을 변경해야 할 수 있습니다. API 성능을 개선할 수 있습니다

캐시 유형

API 데이터는 두 가지 유형의 캐시에 저장됩니다.

  • 레벨 1 (L1): 인메모리 캐시, 액세스 속도는 빠르지만 사용 가능한 저장용량은 더 적음 용량을 제공합니다
  • 레벨 2 (L2): Cassandra 데이터 스토어의 영구 캐시로 속도가 느립니다. 더 많은 스토리지 용량을 제공합니다

L1 캐시의 데이터 항목이 L1 TTL에 도달하면 삭제됩니다. 그러나 항목의 사본은 L2 캐시 (L1 캐시보다 TTL이 더 김)에 보관되고, 다른 메시지 프로세서가 계속 액세스할 수 있습니다. 자세한 내용은 인메모리 및 영구 캐시 수준을 참조하세요.

최대 L1 TTL

프라이빗 클라우드용 Edge에서는 각 메시지에 최대 L1 캐시 TTL을 설정할 수 있습니다. 최대 L1 TTL 속성 (conf_cache_max.l1.ttl.in.seconds)을 사용하여 프로세서를 전송합니다. L1 캐시의 항목은 최대 L1 TTL 값에 도달하면 만료되어 삭제됩니다.

참고:

  • 기본적으로 최대 L1 TTL은 사용 중지되며 (값 -1) 이 경우 L1 캐시에 있는 항목의 TTL은 PopulationCache 정책의 <ph type="x-smartling-placeholder"></ph> 만료 설정 (L1 및 L2 캐시 모두 해당)을 지정합니다.
  • 최대 L1 TTL은 값이 전체 캐시 만료 시간보다 작은 경우에만 영향을 미칩니다.

최대 L1 TTL 설정

다음과 같이 메시지 프로세서에 최대 L1 TTL을 설정할 수 있습니다.

  1. 구성 파일 <ph type="x-smartling-placeholder">/opt/apigee/customer/application/message-processor.properties</ph> 생성하는 방법을 알아보겠습니다 파일이 없으면 새로 만듭니다.
  2. 최대 L1 TTL 속성을 원하는 값으로 설정합니다.
    conf_cache_max.l1.ttl.in.seconds = 180

    180초 값을 사용하는 것이 좋습니다.

  3. 속성 파일이 'Apigee'의 소유인지 확인하세요. 사용자:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. 메시지 프로세서를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

최대 L1 TTL 설정 가이드라인

최대 L1 TTL을 설정할 때 다음 가이드라인에 유의하세요.

  • RPC 부적중: 리모트 프로시져 콜 (RPC) 누락이 확인되는 경우 메시지 프로세서 (MP): 특히 여러 데이터 센터에 분산되어 있으며 L1 캐시에 오래된 항목이 있어 삭제되기 전까지 비활성 상태로 유지될 수 있습니다. L1 캐시에서 추출됩니다. 최대 L1 TTL을 더 낮은 값으로 설정하면 L2 캐시의 새 값으로 더 빨리 교체될 것입니다.
    해결 방법: conf_cache_max.l1.ttl.in.seconds을 줄입니다.
  • Casandra의 과도한 로드: 최대 L1 TTL 값을 설정하면 L1 캐시 항목이 만료일이 더 잦으므로 L1 캐시 부적중이 많아지고 L2 캐시 적중이 많아집니다. L2 캐시는 더 자주 적중되기 때문에 Cassandra의 부하가 증가합니다.
    해결 방법: conf_cache_max.l1.ttl.in.seconds 늘리기

일반적으로 최대 L1 TTL은 주파수의 균형을 이루는 값으로 조정합니다. Cassandra에서 잠재적인 로드로 인해 MP 간의 RPC 누락 수를 확인합니다.

conf_cache_max.l1.ttl.in.seconds의 값을 최소한으로 설정하는 것이 좋습니다. 원활한 처리를 유지하기 위해 180초 (3분)가 필요합니다.