SNR#3755 배치 시나리오 실행 시 DB 커넥션 과다 사용 개선
버전: 4.0.2609.0
배치 시나리오(예약된 탐지 규칙)를 실행할 때 DB 커넥션을 과도하게 사용해, 다수의 배치 시나리오가 동시에 실행되면 커넥션이 고갈될 수 있던 문제를 개선했습니다.
- 원인: 배치 시나리오가 예약된 일정에 따라 실행될 때마다 내부 데이터베이스에서 규칙 정보를 매번 새로 조회했습니다. 배치 시나리오 수와 실행 빈도가 많은 환경에서는 이 조회가 한꺼번에 몰리면서 DB 커넥션을 과도하게 점유했습니다.
- 해결: 배치 시나리오 정보를 메모리에 캐시해두고 일정 주기로 갱신하며, 시나리오 실행 시점에는 캐시에서 정보를 가져오도록 개선하여 실행할 때마다 DB에 접근하지 않습니다. 규칙을 추가·수정·삭제하면 캐시가 곧바로 갱신을 시도해 변경 사항이 빠르게 반영됩니다.
캐시 갱신 주기는 logpresso.sonar.batch_rule_reload_interval 시스템 프로퍼티(밀리초 단위, 기본값 10000)로 조정할 수 있습니다.