서버 파라미터 설정

ProSync Manager의 서버 환경설정 방법에 대해 설명한다.

1. 서버 파라미터 설정

ProSync Manager 서버에서 사용하는 파라미터는 prosyncmanager.properties 파일로 설정 가능하다.

이 때 각 파라미터들은 개행으로 구분하며, 파라미터 이름과 값 사이에는 공백없이 등호(=) 하나만을 입력한다.

# LOG
LOG_LEVEL=INFO
LOG_DIR=${PRSMGR_HOME}/logs
LOG_COMPRESS=Y
LOG_MAX_FILE_SIZE=1GB
LOG_MAX_HISTORY=30
LOG_TOTAL_SIZE_CAP=30GB

# INTEGRITY CHECK
## 검사 작업 중 SELECT 에서 쓰이는 parallel
IC_SELECT_THREAD_COUNT=8
## 보정 작업 중 DML 에서 쓰이는 parallel
IC_APPLY_THREAD_COUNT=8
IC_QUEUE_SIZE=128
IC_DOWNLOAD_PATH=${PRSMGR_HOME}/verify
IC_CONNECTION_TIMEOUT=300
IC_READ_TIMEOUT=1800
## 검사 작업에 쓰이는 thread pool size
## 최대 동일한 개수의 SRC/TAR DB connection 을 점유
IC_SERVICE_THREAD_CNT=10
## 검사 이후 결과 download 에 쓰이는 thread pool size
IC_SERVICE_DOWNLOAD_THREAD_CNT=5
## 보정 작업에 쓰이는 thread pool size
## 최대 해당 값 * 5 만큼의 TAR DB connection 을 점유
IC_SERVICE_APPLY_THREAD_CNT=5
## UTF가 아닌 DB에 대한 정렬
IC_USE_UNICODE_ORDER=false

# INITIAL LOAD
IL_EXTRACT_PARALLEL=N
IL_INSERT_PARALLEL=N
IL_LOCK_TIMEOUT=10
IL_LOG_PATH=${PRSMGR_HOME}/etl

# REPO DB
REPODB_USERNAME=repo_user
REPODB_PASSWORD=password
REPODB_IP=localhost
REPODB_PORT=13852
REPODB_DBNAME=prosyncmanager

# JWT 90days - 360days
JWT_VALID_TIME_MILLIS=7776000000
JWT_REFRESH_TIME_MILLIS=31104000000

# DB
DB_TIMEOUT_SECONDS=5

# TOMCAT LOG
TOMCAT_LOG_LEVEL=INFO
TOMCAT_LOG_DIR=${PRSMGR_HOME}/tomcat_logs
TOMCAT_LOG_COMPRESS=Y
TOMCAT_LOG_MAX_FILE_SIZE=1GB
TOMCAT_LOG_MAX_HISTORY=30
TOMCAT_LOG_TOTAL_SIZE_CAP=30GB

# HIST RETENTION
RETENTION_JOB_TIME=1
RETENTION_EVENT=30
RETENTION_ERROR=30
RETENTION_LONG_TX=30
RETENTION_RESOURCE=30
RETENTION_STATISTICS=30
RETENTION_TSN_DIFF=30

# TSN TIME MAP RETENTION
RETENTION_SRC_TIME_MAP=30

다음은 각 파라미터에 대한 설명이다.

파라미터명
설명
초기값

LOG_LEVEL

ProSyncManager가 남길 로그의 정도이며 동적으로 변경할 수 있다.

(ERROR, WARN, INFO, DEBUG, TRACE)

INFO

LOG_DIR

ProSyncManager 가 남길 로그가 위치할 디렉토리 이다.

${PRSMGR_HOME}/logs

LOG_COMPRESS

이전 로그를 압축할지 여부를 결정한다. (Y, N)

Y

LOG_MAX_FILE_SIZE

개별 로그 파일의 최대 크기이다. 바이트 단위이며 GB/MB/KB를 사용하여 설정할 수 있다.

1GB

LOG_MAX_HISTORY

유지시킬 로그 파일의 주기(일)로, 이전 파일은 삭제한다.

30

LOG_TOTAL_SIZE_CAP

모든 로그 파일의 총 크기 합계에 대한 상한으로, 이전 파일은 삭제한다.

바이트 단위이며 GB/MB/KB를 사용하여 설정할 수 있다.

30GB

IC_SELECT_THREAD_COUNT

정합성 검사 작업 중 데이터 비교를 위해 쓰이는 THREAD 갯수 이다.

8

IC_APPLY_THREAD_COUNT

정합성 검사 작업 중 데이터 보정 시 쓰이는 THREAD 갯수 이다.

8

IC_QUEUE_SIZE

정합성 검사의 메모리 관리를 위한 파라미터로 sql파일을 read/write 하는 스 레드에 보유할 statement들의 최댓 값을 의미한다. 너무 큰 값을 허용할 경우, sql 파일 생성이 느릴 때 메모리에 쌓이는 statement 가 많아져 프로싱크 매니저의 성능(자원)에 영향이 있으므로, 적절한 값을 환 경에 맞춰 설정한다. (1 - 2147483647)

128

IC_DOWNLOAD_PATH

정합성 검사 기능의 파라미터로, 정합성 검사 결과 sql파일이 저장될 위치이다.

${PRSMGR_HOME]/verify

IC_CONNECTION_TIMEOUT

JDBC로 연결을 시도하기 위한 Connection Timeout을 의미한다.(0 - 2147483647초)

0초로 설정 시, timeout 없이 연결 대기를 수행한다.

300

IC_READ_TIMEOUT

서버로 쿼리를 날렸을 때 응답을 대기할 쿼리 타임아웃이다. (-1 - 2147483647 초) 양의 정수로 설정 시 timeout(초) 만큼 대기하게 된다. 0이나 음수값일 경우 쿼리 응답에 대해 무한히 대기하게 된다.

1800

IC_SERVICE_THREAD_CNT

정합성 검사를 동시에 수행할 Thread 갯수이다.

0보다 큰 값은 모두 허용되나 너무 많은 Thread 갯수를 허용할 경우 프로싱크 매니저의 성능(속도 및 자원)에 영향이 있으므로, 적절한 값을 환경에 맞춰 설정한다.

10

IC_SERVICE_DOWNLOAD_THREAD_CNT

정합성 결과 이후 SQL 파일 download 에 쓰이는 THREAD Pool Size 이다. 0보다 큰 값은 모두 허용되나 너무 많은 Thread 갯수를 허용할 경우 프로싱크 매니저의 성능(속도 및 자원)에 영향이 있으므로, 적절한 값을 환경에 맞춰 설정한다.

5

IC_SERVICE_APPLY_THREAD_CNT

정합성 보정 작업에 쓰이는 THREAD Pool Size 이다. 최대 {설정값} * 5 만큼의 TAR DB Connection 을 점유한다. 0보다 큰 값은 모두 허용되나 너무 많은 Thread 갯수를 허용할 경우 프로싱크 매니저의 성능(속도 및 자원)에 영향이 있으므로, 적절한 값을 환경에 맞춰 설정한다.

5

IC_USE_UNICODE_ORDER

DB charset이 UTF가 아닌 경우 한자 등 특수 문자의 정렬 순서가 달라질 수 있다. 해당 옵션이 true 인 경우 UTF 가 아닌 환경에서 char/varchar 등 String 으로 해석되는 컬럼을 기준으로 정렬이 일어날 때 unicode 기준으로 변경한다. (KEY 에 char/varchar 컬럼이 포함되있는 경우 혹은 KEY 가 없는 테이블에 해당 컬럼 포함된 경우 영향이 있다)

false

IL_EXTRACT_PARALLEL

초기적재 기능의 파라미터로, 추출 시 parallel 여부를 결정한다.(Y|N)

N

IL_INSERT_PARALLEL

IL_INSERT_PARALLEL 초기적재 기능의 파라미터로, insert 시 parallel 여부를 결정한다.(Y|N)

N

IL_LOCK_TIMEOUT

초기적재 기능의 파라미터로, 초기적재 시 srcDB에 table lock을 시도하는 시 간이다.(1 - 2147483647초)

10

IL_LOG_PATH

초기적재 기능의 파라미터로, 초기적재의 로그 파일이 저장될 위치이다.

${PRSMGR_HOME}/etl

PEPODB_USERNAME

repoDB 에 접속하기 위한 유저 이름이다.

repo_user

REPODB_PASSWORD

repoDB 에 접속하기 위한 PEPODB_USERNAME에 대한 비밀번호다.

password

REPODB_IP

repoDB 에 접속하기 위한 ip다.

localhost

REPODB_PORT

repoDB 에 접속하기 위한 port다. (0 - 65535)

13852

REPODB_DBNAME

repoDB 에 접속하기 위한 DB이름이다.

prosyncmanager

JWT_VALID_TIME_MILLIS

jwt 토큰 관련 파라미터로, 토큰의 유효 시간이다. (1 - 9223372036854775807 밀리초)

7776000000

JWT_REFRESH_TIME_MILLIS

jwt 토큰 관련 파라미터로, refresh 토큰의 유효 시간이다. (1 - 9223372036854775807밀리초)

31104000000

DB_TIMEOUT_SECONDS

관제 DB에 쿼리 응답에 대한 timeout 설정이다.(0:무한 대기, 0 - 2147483647초)

5

TOMCAT_LOG_LEVEL

ProSyncManager를 배포 할 tomcat 로그의 정도이다.

(ERROR, WARN, INFO, DEBUG, TRACE)

INFO

TOMCAT_LOG_DIR

tomcat 로그가 위치할 디렉토리 이다.

${PRSMGR_HOME}/tomcat_logs

TOMCAT_LOG_COMPRESS

이전 tomcat 로그를 압축할지 여부를 결정한다.(Y, N)

Y

TOMCAT_LOG_MAX_FILE_SIZE

개별 tomcat 로그 파일의 최대 크기이다.

바이트 단위이며 GB/MB/KB를 사용하여 설정할 수 있다.

1GB

TOMCAT_LOG_MAX_HISTORY

유지시킬 tomcat 로그 파일의 주기(일)로, 이전 파일은 삭제한다.

30

TOMCAT_LOG_TOTAL_SIZE_CAP

모든 tomcat 로그 파일의 총 크기 합계에 대한 상한으로, 이전 파일은 삭제한다.

바이트 단위이며 GB/MB/KB를 사용하여 설정할 수 있다.

30GB

RETENTION_JOB_TIME

로그성 데이터를 저장하는 파티션을 제거하는 작업을 수행 할 시각이다.

(0 - 23)

1

RETENTION_EVENT

event 정보를 저장 할 기간이다.

(-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

RETENTION_ERROR

error 정보를 저장 할 기간이다.

(-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

RETENTION_LONG_TX

long tx 정보를 저장 할 기간이다.

(-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

RETENTION_RESOURCE

cpu/mem 사용량 정보를 저장 할 기간이다.

(-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

RETENTION_STATISTICS

동기화한 dml/ddl 수 정보를 저장 할 기간이다.

(-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

RETENTION_TSN_DIFF

tsn diff 정보를 저장 할 기간이다.

(-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

RETENTION_SRC_TIME_MAP

tsn에 매핑되는 time 정보를 저장 할 기간이다. (-1: 사용하지 않음, 0: 당일 정보만 저장, 최대 365)

30

Last updated