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]
      ==================================================