[최적화] 수강신청 메인 페이지 성능 개선 (N+1, Redis)
·
최적화
수강신청은 모든 학생이 동시에 접속하는 순간적인 트래픽 집중 구간이다. 페이지가 잠깐만 늦어져도 학생 입장에선 수강 실패로 이어진다. 이 글은 수강신청 “메인 페이지”에서 발생한 N+1 문제를 추적·해결하고, Redis 캐시로 응답 시간을 더 줄여 실시간 트래픽을 버티도록 만든 과정을 정리했다. 1. 처음 문제: N+1이 실제로 어떻게 터졌나사용자에게 과목들을 보여주는 초기 코드는 단순했다.public List findCourses(CourseSearch courseSearch) { return courseRepository.findAll(courseSearch);}이때 화면에서는 과목(Course) 목록과 함께 교수(Professor)·강의계획서(Syllabus) 정보를 같이 보여줬다. JPA의 ..