springboot1 [성능 최적화] K6로 발견한 N+1 문제, 84개 쿼리를 6개로 줄여 응답속도 93% 개선기 - 2편 [성능 최적화] K6로 발견한 N+1 문제, 84개 쿼리를 6개로 줄여 응답속도 93% 개선기 - 2편서론이번 2편에서는 지난 [1편 링크] 에서 K6 부하 테스트를 통해 채팅 메시지 조회 API에서 심각한 N+1 문제를 해결하기 위한 구체적인 코드 개선 과정과, 그로 인해 얼마나 성능이 향상되었는지를 데이터로 확인해 보겠습니다.문제의 원인 : 반복 조회로 인한 N+1 쿼리부하 테스트를 통해 확인한 병목의 근본 원인은, 쿼리가 N+1 로 실행되는 문제였습니다.아래 코드 첫 번째 스크린샷에서 보시는 것처럼, 조회된 21개의 채팅 메시지 목록(List)을 스트림으로 처리하며 각 메시지에 대한 추가 정보를 개별적으로 조회하고 있었습니다.즉, 하나의 메시지(ChatEntity)를 처리할 때마다 아래 4개의 추가.. 2025. 8. 13. 이전 1 다음