# Replay Client 모드

Replay Client 모드는 Replay를 위한 tbwrc client 프로세스를 구동하는 모드 입니다.

효율적인 Replay를 위해 Calibration 모드로 측정된 최소 replay\_client process 개수 이상으로 리플레이   클라이언트 프로세스 구동을 권장합니다.

해당 모드를 사용하기 위해 replay\_client.properties 파일을 작성합니다.

**replay\_client.properties 파일 복사**

* $> cd \[tbwrc 실행 스크립트 파일 위치]
* $> cp ./properties/template/replay\_client.properties.eg ./properties/replay\_client.properties

다음은 replay\_client.properties parameter 리스트 입니다.

<table><thead><tr><th width="246">parameter</th><th width="285">설명</th><th>기본값</th></tr></thead><tbody><tr><td>JDBC_URL</td><td>replay를 진행할 DB 접속 시 사용할 capture db 의 instance 정보 ($TB_SID + _ + INSTANCE_NO) :: replaydb 의 JDBC URL 맵핑 정보</td><td>TIBERO_0::jdbc:tibero:thin:@localhost:2051:tibero</td></tr><tr><td>REPLAY_DIR</td><td>Preprocess 결과 파일들이 저장된 디렉토리</td><td>$TB_HOME/replay_dir</td></tr><tr><td>MQ_URL</td><td>Replay 과정에서 사용하는 ActiveMQ의 접속 URL</td><td>tcp://localhost:61616?keepAlive=true&#x26;wireFormat.maxInactivityDuration=0</td></tr><tr><td>PASSWORD</td><td>replay를 진행할 DB 접속을 위한 user password 만일, Capture 때 여러 user의 DB connection이 있다면 [tbwrc 실행 스크립트 위치]/properties/connection.properties 파일 내 USERNAME=PASSWORD 형식으로 작성된 user별 password를 접속 시 이용</td><td>tmax</td></tr><tr><td>THINK_TIME_SCALE</td><td>하나의 세션 안에서 하나의 Capture 부하의 종료 시간과 바로 다음 capture 부하의 시작 시간까지의 휴지 시간 스케일을 캡쳐 당시와 얼마나 동일하게 재현할 지에 대한 파라미터(단위: %)</td><td>100</td></tr><tr><td>TIMEOUT_ENABLED</td><td>replay 시 각 캡쳐 부하에 대한 timeout을 지정할지 여부를 결정하는 파라미터</td><td>true</td></tr><tr><td>TIMEOUT_MIN_DELAY</td><td>replay 시 각 캡쳐 부하에 대해 timeout이 발현되는 최소 시간 (단위: 분)</td><td>10</td></tr><tr><td>TIMEOUT_MAX_DELAY</td><td>replay 시 각 캡쳐 부하에 대해 timeout이 발현되는 최대 시간 (단위: 분)</td><td>120</td></tr><tr><td>TIMEOUT_DELAY_FACTOR</td><td>eplay 시의 각 부하 경과 시간이 캡쳐 당시 각 캡쳐 부하의 DB elapsed time 대비 몇배 만큼 지연되었을 경우, timeout 처리할지 지정하는 파라미터</td><td>8</td></tr><tr><td>LOG_DIR</td><td>REPLAY_Client 과정에서 발생하는 로그를 저장할 디렉토리</td><td>./log</td></tr><tr><td>LOG_LEVEL</td><td>메시지의 심각도에 따라 로그에 기록될 메시지 선택 제어 유효 값 OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL</td><td>INFO</td></tr></tbody></table>

***\[예] REPLAY\_CLIENT MODE 실행***

{% code overflow="wrap" fullWidth="false" %}

```
$ sh tbwrc.sh REPLAY_CLIENT=YES
  try to apply properties [./properties/replay_client.properties]

  REPLAY_DIR=/home/tibero6/replay_dir
  MQ_URL=tcp://localhost:61616?wireFormat.maxInactivityDuration=0&keepAlive=true
  PASSWORD=********
  JDBC_URL=tibero_0::jdbc:tibero:thin:@localhost:8611:tb_clone
  THINK_TIME_SCALE=50
  LOG_DIR=./log/client
  TIMEOUT_ENABLED=true
  TIMEOUT_MIN_DELAY=10
  TIMEOUT_MAX_DELAY=100
  TIMEOUT_DELAY_FACTOR=8

  INFO[17:13:28,846][tbwrc_240412_171328] TbWrcMain.main() tbwrc [REPLAY_CLIENT] start
  INFO[17:13:28,994][tbwrc_240412_171328] TbWrcReplayClient.greeting() waiting connect to replay_server
  INFO[17:13:29,008][tbwrc_240412_171328] TbWrcReplayClient.greeting() replay_client [1] start
```

{% endcode %}
