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[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 [cacheName]]
특정 TCache의 데이터를 초기화하는 옵션이다.
cacheName은 pfmtcache.cfg에 정의된 “CACHE_NAME”을 가리킨다. 여러 개의 캐시를 사용하고 있다면 특정 캐시 영역을 초기화하기 위하여 사용한다.
-
실행 결과
-
[-c]
[midas:/home/midas/proframe5.0/package/proframe/pfm/bin]$ pfmtcacheadmin -c TCACHE ver. 2.3.6 ERROR : TCACHE is already created.
-
[-d]
[midas:/home/midas/proframe5.0/package/proframe/pfm/bin]$ pfmtcacheadmin -d TCACHE ver. 2.3.6 This will delete TCACHE. Are you sure? [y/N] y TCACHE deleted successfully.
-
[-r]
[midas:/home/midas/proframe5.0/package/proframe/pfm/bin]$ pfmtcacheadmin -r TCACHE ver. 2.3.6 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:/home/midas/proframe5.0/package/proframe/pfm/bin]$ pfmtcacheadmin -t TCACHE ver. 2.3.6 TCACHE status changed to NO ACCESS.
-
[-i [cacheName]]
[midas:/home/midas/proframe5.0/package/proframe/pfm/bin]$ pfmtcacheadmin -i PFM_SVC TCACHE ver. 2.3.6 This will invalidate all contents in PFM_SVC. Are you sure? [y/N] y
-
[-s]
[midas:/home/midas/proframe5.0/package/proframe/pfm/bin]$ pfmtcacheadmin -s TCACHE ver. 2.3.6 Reporting TCACHE statistics. [SHMKEY = 0x70056] version = 2.3.6 # 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:/home/midas/proframe5.0/package/proframe/pfm/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:/home/midas/proframe5.0/package/proframe/pfm/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:/home/midas/proframe5.0/package/proframe/pfm/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:/home/midas/proframe5.0/package/proframe/pfm/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:/home/midas/proframe5.0/package/proframe/pfm/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:/home/midas/proframe5.0/package/proframe/pfm/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] =================================================== . . .
-