본 장에서는 TCache를 관리하기 위해 제공되는 툴에 대해 설명한다.
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)
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]
===================================================
백업한 파일을 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]
===================================================