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": 300,
"enableRrd": true
}
memoryRatioContents (기본: 50%)RT가 사용하는 전체 메모리 중 콘텐츠 적재비율
cacheObjectSize (기본: 900bytes)RT 캐싱객체당 메모리 크기
enableEmergencyMode (기본: false)RT Emergency 모드 활성화
enableSyncStale (기본: true)stale.log를 활성화하여 콘텐츠 Purge등을 선기록 후 비정상 종료 상황에도 반영한다.
writeCountSmallFile (기본: 300)캐싱 객체의 초당 Write-Back 개수. 0인 경우 Write-Back하지 않고 즉시 I/O를 발생시킨다.
enableRrd (기본: true)가상호스트별로 RRD 그래프를 제공한다.
false로 설정하면 기록하지 않는다.
purge¶
Purge계열 API 동작에 대해 설정한다.
{
"env": {
"rt": {
"purge": {
"mode": "sync"
}
}
}
}
mode (기본: sync)Purge계열 동작방식 설정
sync동기로 동작한다.async비동기로 동작한다.
async¶
비동기 Purge 동작에 대해 설정한다.
"async": {
"target": "pattern",
"concurrent": 1,
"queueMax": "100000"
}
target (기본: pattern)비동기 무효화로 구성된 상태라도, 요청된 URL에 따라 선별적으로 비동기 처리한다.
pattern패턴요청에 대해서만 비동기 처리한다.all모든 요청을 비동기 처리한다.
concurrent (기본: 1)비동기 무효화 동시처리 수. 많이 설정할수록 서비스 Throughput이 저하될 수 있다. 최대 수행개수는
CPU 코어수 - 2이다.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 중 매칭 아이템에 대해서만 반영한다.