XX(주)
사원/XX팀
정수장 웹 솔루션(EMS) 개발 및 레거시 개선
(EMS : Energy Management System)
1. 송수 펌프 제어 이력 조회 API 쿼리 최적화를 통한 개선
기간 내 제어 이력 조회에 대한 응답 지연
기간 내 최신 제어 운전 결과 데이터 60건, 기간 내 AI 모드 데이터(테스트 시 약 80만 건) 애플리케이션 메모리에 전체 로딩 후 필터링
현재 개발 서버 데이터는 실제 운영 데이터가 아니라 데이터 수가 비교적 적지만, 실제 운영 상황에서는 더 많은 데이터가 존재하기 때문에 메모리 부담이 커질 가능성
네트워크를 통해 다수의 데이터들이 넘어오다보니 응답 시간 증가
80만 건의 조회 후 메모리 로딩까지 → 8,335ms 소요
자바 로직 내 데이터 대조 → 1,252ms
전체 응답 지연의 80% 이상이 60건의 타겟 데이터를 추리기 위해 불필요한 80만 건의 데이터를 애플리케이션 메모리에 적재하는 과정에서 발생
API 요구 조건에 맞는 데이터만 DB에서 필터링하지 않고, 해당 역할을 애플리케이션 서비스 계층으로 넘겨 대량의 데이터를 메모리에 적재하도록 방치한 것이 본질적인 문제로 판단