rt

/usr/local/m2/setting.json 다음 영역에 대해 기술한다.

{
  "env": {
    "rt": {
      ...
    }
  }
}

localCacheStorage

{
  "env": {
    "rt": {
      "localCacheStorage": {
        ...
      }
    }
  }
}

meta

"meta": {
  "diskFailSec": 60,
  "diskFailCount": 10,
  "onCrash": "hang"
}
diskFailSec (기본: 60초)

디스크 실패 누적시간

diskFailCount (기본: 10회)

디스크 실패 누적 시간동안 diskFailCount 만큼 실패하면 디스크를 배제한다.

onCrash (기본: hang)

모든 디스크 장애시 동작모드. hang , bypass , selfkill 중 택 1

disks

"disks": [
  {
      "mount": "/user/cache1"
  },
  {
      "mount": "/user/cache3",
      "quota": 100,
      "quotaUnit": "size",
      "cleanupSize": 0
  }
]
mount

마운트 경로

quota

디스크당 최대 사용량

quotaUnit

디스크당 사용량 단위. size (단위: GB) 또는 ratio (범위: 1~100%)

cleanupSize (기본: 0, 단위: GB)

디스크 공간부족시 정리용량. 값이 0 보다 클 경우 동작한다.

cleanup

"cleanup": {
  "time": "02:00",
  "age": 0,
  "emptyDir": "delete",
  "fileCount": 0,
  "defaultDiskCleanupSize": 0
}
time (기본: 02:00)

rt 캐싱엔진 최적화 수행시간

age (기본: 0일)

0보다 큰 경우, 일정 기간동안 한번도 접근되지 않은 콘텐츠를 삭제한다. 디스크를 미리 확보하여 서비스 시간 중 디스크 부족이 발생할 확률을 줄이기 위함이다.

emptyDir (기본: delete)

Cleanup 시점에 비어있는 디렉토리 삭제여부. delete 인 경우 삭제, keep 인 경우 미삭제.

fileCount (기본: 0)

디스크 정리 시점에 한번에 정리할 캐싱객체의 절대개수. 0인 경우 자동계산된다.

defaultDiskCleanupSize (기본: 0, 단위: GB)

각 디스크당 공간부족시 정리용량. 값이 0 보다 클 경우 동작한다.

properties

"properties": {
  "memoryRatioContents": 50,
  "cacheObjectSize": 900,
  "enableEmergencyMode": false,
  "enableSyncStale": true,
  "writeCountSmallFile": 0,
  "enableRrd": true
}
memoryRatioContents (기본: 50%)

RT가 사용하는 전체 메모리 중 콘텐츠 적재비율

cacheObjectSize (기본: 900bytes)

RT 캐싱객체당 메모리 크기

enableEmergencyMode (기본: false)

RT Emergency 모드 활성화

enableSyncStale (기본: true)

stale.log를 활성화하여 콘텐츠 Purge등을 선기록 후 비정상 종료 상황에도 반영한다.

writeCountSmallFile (기본: 0)

캐싱 객체의 초당 Write-Back 개수. 0인 경우 자동계산된다.

enableRrd (기본: true)

가상호스트별로 RRD 그래프를 제공한다. false 로 설정하면 기록하지 않는다.

purge

Purge계열 API 동작에 대해 설정한다.

{
  "env": {
    "rt": {
      "purge": {
        "mode": "sync"
      }
    }
  }
}
mode (기본: sync)

Purge계열 동작방식 설정

  • sync 동기로 동작한다.

  • async 비동기로 동작한다.

async

비동기 Purge 동작에 대해 설정한다.

"async": {
  "target": "pattern",
  "queueMax": "100000"
}
target (기본: pattern)

비동기 무효화로 구성된 상태라도, 요청된 URL에 따라 선별적으로 비동기 처리한다.

  • pattern 패턴요청에 대해서만 비동기 처리한다.

  • all 모든 요청을 비동기 처리한다.

queueMax (기본: 100000)

비동기 무효화 최대 저장개수

비동기로 동작하는 경우 무효화 요청은 큐에 저장되며 백그라운드로 수행된다.

Note

  • 백그라운드 수행 이전이라도 접근되는 콘텐츠가 무효화 대상이라면 즉시 만료된다.

  • 비동기 API를 호출했으나 동기로 처리되었다면 201 Created 로 응답한다.

preCacheControl

비동기 Purge 관리 및 반영정책을 설정한다.

"preCacheControl": {
  "enable": true,
  "matchMax": 5000,
  "matchFirstOnly": false
}
enable (기본: true)

접근되는 콘텐츠에 대해 저장된 비동기 무효화를 매칭한다.

matchMax (기본: 5000)

최대 매칭 개수

matchFirstOnly (기본: false)

  • false 큐잉된 비동기 Purge 전체를 스캔한다.

  • true 큐잉된 비동기 Purge 중 매칭 아이템에 대해서만 반영한다.