page no. 167018523
- 기능 설명
- 에이전트 로그(MTX_AGENT_LOG)를 DB에 적재할 때, 기존에는 요청(서비스) 스레드가 직접 DB 커넥션을 잡고 INSERT 1건 + COMMIT 을 수행했을 경우 성능 이슈가 발생시에 다음과 같은 문제를 유발합니다.
- LOCK 경합 : 다수 세션이 동시에 같은 테이블에 INSERT → 인덱스 LOCK 경합
- 커넥션 풀 고갈 : 로그 1건마다 커넥션을 점유 → AP(애플리케이션) 커넥션 풀 고갈 - AGENTLOG_ASYNC=Y 옵션을 켜면, 요청 스레드는 메모리 큐에 로그를 담기만 하고 즉시 리턴 후 AgentLog용 Thread에서 배치 단위로 분할 커밋 처리하는 기능
- 에이전트 로그(MTX_AGENT_LOG)를 DB에 적재할 때, 기존에는 요청(서비스) 스레드가 직접 DB 커넥션을 잡고 INSERT 1건 + COMMIT 을 수행했을 경우 성능 이슈가 발생시에 다음과 같은 문제를 유발합니다.
- 사용 방법
- X-Matrix 관리자 옵션에 옵션코드 AGENTLOG_ASYNC 를 등록하고 값을 Y 로 설정합니다.
- 비동기 적재 스레드는 첫 로그가 적재되는 시점(offer)에 1회만 지연 시작(lazy start) 됩니다.
- 해당 옵션을 미 설정 또는 N 으로 설정 시에는 기존처럼 동기로 동작합니다.
참고 사항
- Admin > 시스템 관리 > 시스템 옵션 에서 시스템 사용 옵션 신규 추가
- 적용 권장 상황 : 로그 건수가 많아 INSERT LOCK 경합·커넥션 풀 고갈이 관찰되고, 약간의 로그 지연/유실을 감내할 수 있는 환경(성능 우선).
주의 사항
롤백/재적용 용이 : 옵션 기반이므로 문제가 생기면 AGENTLOG_ASYNC 를 N(또는 옵션 제거)으로 바꿔 즉시 기존 동기 경로로 복귀 가능합니다.
| 기능 정보 |
|
|
|
|
|
|
|
|---|---|---|---|---|---|---|---|
| 시작 버전 정보 |
| ||||||