TCache 툴
본 장에서는 TCache를 관리하기 위해 제공되는 툴에 대해 설명한다.
1. pfmtcacheadmin
TCache를 초기화하거나 삭제하거나 생성할 수 있고, TCache의 상태를 조회할 수 있으며, 초기화 이후 현재까지 caching에 대한 리포트 결과를 확인할 수 있다.
다음은 pfmtcacheadmin의 기본 사용법이다.
-
사용 방법
$ pfmtcacheadmin [-s] [-S [sec]] [-c] [-d] [-r] [-R [sec]] [-C [sec]] [-U ALL] [-u [cacheName]] [-t] [ -i (-I) [cacheName] ]
항목 설명 [ -s ]
TCache의 동작에 대한 리포트를 하는 옵션으로 메모리 사용 현황 및 TCache 동작 상태, cache hit 및 miss 횟수에 대한 정보를 보여준다.
적절한 TCache 성능 보장을 위해 Avg List는 5 이하로 유지해야 한다.
SIZE_HASH 값을 늘려 Avg List 값을 줄일 수 있다.
[ -S [sec] ]
-s 옵셥과 동일하다. (주기적으로 실행)
[ -c ]
TCache를 기동한다. TCache가 이미 Shared Memory에 올려져 있다면 아무 작업도 수행하지 않는다.
[ -d ]
TCache를 Shared Memory로부터 삭제하는 옵션으로 TCache의 삭제는 최초 TCache를 생성한(pfmtcacheadmin -c를 수행한) 사용자만 실행 가능하다.
[ -r ]
TCache를 재생성하는 옵션이다. [-d], [-c]와 동일한 동작을 수행한다.
[ -R [sec] ]
TCache에 해제되지 않은 Lock이 존재할 때 TCache 전체를 재생성한다.
(주기적으로 실행)
[ -C [sec] ]
TCache에 해제되지 않은 Lock의 존재 여부를 확인한다. (주기적으로 실행)
[ -U ALL ]
모든 TCache Lock을 해제한다.
[ -u [cacheName] ]
TCache Name별로 Lock을 해제한다.
[ -t ]
TCache에 저장된 캐시 데이터는 보존하고 일시적으로 TCache API를 사용할 수 없도록 하는 옵션이다.
API를 다시 사용할 수 있도록 하려면 [-t]을 다시 실행한다.
[ -i (-I) [cacheName] ]
특정 TCache의 데이터를 초기화하는 옵션이다.
cacheName은 pfmtcache.cfg에 정의된 “CACHE_NAME”을 가리킨다.
여러 개의 캐시를 사용하고 있다면 특정 캐시 영역을 초기화하기 위하여 사용한다.
-
실행 결과
-
[ -c ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -c ERROR : TCACHE is already created.
-
[ -d ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -d This will delete TCACHE. Are you sure? [y/N] y TCACHE deleted successfully.
-
[ -r ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -r This will clear and initialize all TCACHE contents. Are you sure? [y/N] y The previous TCACHE removed successfully New TCACHE initialized successfully.
-
[ -t ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -t TCACHE status changed to NO ACCESS.
-
[ -i [cacheName] ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -i PFM_SVC This will invalidate all contents in PFM_SVC. Are you sure? [y/N] y
-
[ -I [cacheName] ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -I PFM_SVC This will invalidate all contents in %s. Are you sure? (local only) [y/N] y
-
[ -s ]
[midas:$TMAXDIR/bin]$ pfmtcacheadmin -s Reporting TCACHE statistics. [SHMKEY = 0x70056] version = 2.3.5 # of cache object = 8 status = AVAILABLE local cache size = 10485760 bytes Invalidate Type = 0 Tcache Agent Service = CACHE_NAME = PFM_SVC SIZE_MEM = 6710272 bytes SIZE_HASH = 1024 hash lists SIZE_KEY = 30 digits SIZE_REC = 2048 bytes per single record INV_TIMEOUT = 10 sec. USE HASH_FREE_LIST = 0 USE SEM LOCK = 0 Total # of slots = 2941 slots Total # of used slots = 8 slots Total # of free slots = 2933 slots Total # of GET req. (hit, miss, lock-fail) = 0 (0, 0, 0) times Total # of PUT req. (repl, out-mem, lock-fail) = 8 (0, 0, 0) times Total # of INV req. (lock-fail) = 0 (0) times Total # of null-list. = 1016 lists(Avg List : 1.00) CACHE_NAME = PFM_SVC_EXT SIZE_MEM = 6710272 bytes SIZE_HASH = 1024 hash lists SIZE_KEY = 30 digits SIZE_REC = 2048 bytes per single record INV_TIMEOUT = 10 sec. USE HASH_FREE_LIST = 0 USE SEM LOCK = 0 Total # of slots = 2941 slots Total # of used slots = 7 slots Total # of free slots = 2934 slots Total # of GET req. (hit, miss, lock-fail) = 0 (0, 0, 0) times Total # of PUT req. (repl, out-mem, lock-fail) = 7 (0, 0, 0) times Total # of INV req. (lock-fail) = 0 (0) times Total # of null-list. = 1017 lists(Avg List : 1.00)
-
2. pfmtcachebackup
Shared Memory에 Load된 TCache Item 내역을 백업하는 기능을 제공한다.
-
사용 방법
$ pfmtcachebackup -t [ALL | ITEM_NAME | PFM_*]
항목 설명 -t ALL
Item 내역 전체를 백업한다.
-t [ITEM_NAME]
특정 Item 내역을 백업한다.
-t PFM_*
시작 글자를 기준으로 와일드카드('*'만 제공) 문자에 맞는 Item 내역을 백업한다.
-
실행 결과
-
[ -t ALL ]
[midas:$TMAXDIR/bin]$ pfmtcachebackup -t ALL ================= START TCACHE UNLOAD[PFM_SVC] =================================================== Successfully Finished =================================================== UNLOAD TCACHE NAME : [PFM_SVC] START TIME : [2013-07-04 09:38:38] END TIME : [2013-07-04 09:38:38] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC] TOTAL CNT : [ 8] SUCCESS CNT : [ 8] FAIL CNT : [ 0] =================================================== ================= START TCACHE UNLOAD[PFM_SVC_EXT] =================================================== Successfully Finished =================================================== UNLOAD TCACHE NAME : [PFM_SVC_EXT] START TIME : [2013-07-04 09:38:38] END TIME : [2013-07-04 09:38:38] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC_EXT] TOTAL CNT : [ 7] SUCCESS CNT : [ 7] FAIL CNT : [ 0] ==================================================
-
[ -t PFM_SVC ]
[midas:$TMAXDIR/bin]$ pfmtcachebackup -t PFM_SVC ================= START TCACHE UNLOAD[PFM_SVC] =================================================== Successfully Finished =================================================== UNLOAD TCACHE NAME : [PFM_SVC] START TIME : [2013-07-04 09:39:06] END TIME : [2013-07-04 09:39:06] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC] TOTAL CNT : [ 8] SUCCESS CNT : [ 8] FAIL CNT : [ 0] ==================================================
-
[ -t PFM_* ]
[midas:$TMAXDIR/bin]$ pfmtcachebackup -t PFM_* ================= START TCACHE UNLOAD[PFM_SVC] =================================================== Successfully Finished =================================================== UNLOAD TCACHE NAME : [PFM_SVC] START TIME : [2013-07-04 09:39:29] END TIME : [2013-07-04 09:39:29] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC] TOTAL CNT : [ 8] SUCCESS CNT : [ 8] FAIL CNT : [ 0] =================================================== ================= START TCACHE UNLOAD[PFM_SVC_EXT] =================================================== Successfully Finished =================================================== UNLOAD TCACHE NAME : [PFM_SVC_EXT] START TIME : [2013-07-04 09:39:29] END TIME : [2013-07-04 09:39:29] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC_EXT] TOTAL CNT : [ 7] SUCCESS CNT : [ 7] FAIL CNT : [ 0] ==================================================
-
3. pfmtcacherestore
백업한 파일을 TCache Item 내역에 Load하는 기능을 제공한다.
-
사용 방법
$ pfmtcacherestore -d [Date : YYYYMMDD] -t [ALL | ITEM_NAME | PFM_*]
항목 설명 -d [Date : YYYYMMDD]
Load할 백업 파일의 일자를 설정한다.
-t ALL
백업 파일 Item 내역 전체를 Load한다.
-t [ITEM_NAME]
백업 파일 중 특정 Item 내역을 Load한다.
-t PFM_*
백업 파일 중 시작 글자를 기준으로 와일드카드('*'만 제공) 문자에 맞는 Item 내역을 Load한다.
-
실행 결과
-
-d [YYYYMMDD] -t ALL
[midas:$TMAXDIR/bin]$ pfmtcacherestore -d 20130704 -t ALL ============>[8] ================= START TCACHE LOAD[PFM_SVC] =================================================== Successfully Finished =================================================== LOAD TCACHE NAME : [PFM_SVC] START TIME : [2013-07-04 09:40:10] END TIME : [2013-07-04 09:40:10] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC] TOTAL CNT : [ 8] SUCCESS CNT : [ 8] FAIL CNT : [ 0] =================================================== ================= START TCACHE LOAD[PFM_SVC_EXT] =================================================== Successfully Finished =================================================== LOAD TCACHE NAME : [PFM_SVC_EXT] START TIME : [2013-07-04 09:40:10] END TIME : [2013-07-04 09:40:10] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC_EXT] TOTAL CNT : [ 7] SUCCESS CNT : [ 7] FAIL CNT : [ 0] ==================================================
-
-d [YYYYMMDD] -t [ITEM_NAME]
[midas:$TMAXDIR/bin]$ pfmtcacherestore -d 20130704 -t PFM_SVC ============>[8] ================= START TCACHE LOAD[PFM_SVC] =================================================== Successfully Finished =================================================== LOAD TCACHE NAME : [PFM_SVC] START TIME : [2013-07-04 09:41:44] END TIME : [2013-07-04 09:41:44] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC] TOTAL CNT : [ 8] SUCCESS CNT : [ 8] FAIL CNT : [ 0] ==================================================
-
-d [YYYYMMDD] -t -t PFM_*
[midas:$TMAXDIR/bin]$ pfmtcacherestore -d 20130704 -t PFM_* ============>[8] ================= START TCACHE LOAD[PFM_SVC] =================================================== Successfully Finished =================================================== LOAD TCACHE NAME : [PFM_SVC] START TIME : [2013-07-04 09:40:33] END TIME : [2013-07-04 09:40:33] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC] TOTAL CNT : [ 8] SUCCESS CNT : [ 8] FAIL CNT : [ 0] =================================================== ================= START TCACHE LOAD[PFM_SVC_EXT] =================================================== Successfully Finished =================================================== LOAD TCACHE NAME : [PFM_SVC_EXT] START TIME : [2013-07-04 09:40:33] END TIME : [2013-07-04 09:40:33] --------------------------------------------------- WRITE FILE NAME : [./20130704/PFM_SVC_EXT] TOTAL CNT : [ 7] SUCCESS CNT : [ 7] FAIL CNT : [ 0] ==================================================
-