서버 파라미터 설정
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