결론

대용량 데이터 갱신 시 발생하는 네트워크 병목을 해결하기 위해 bulk 연산 구조로 전환하되, Index 기반의 비상관 서브쿼리를 결합해 조회 효율 극대화

→ DB 네트워크 왕복(RTT)을 최소화(16,000회 → 10회)하고 연산을 애플리케이션 계층으로 위임하여 9배 이상 성능 최적화 달성


1) 문제 제기

상황

1시간 간격으로 약 2,700개 주식 종목의 보조 지표를 계산하여 갱신하는 스케줄링 작업을 하는데 시간이 오래 걸림

성능

원인 분석

image.png

DB 커넥션을 맺고 끊는 오버헤드와 여러 번의 네트워크 왕복이 병목의 원인이라고 판단