
무진장을 맞아, 후기 응답속도를 개선해보자
두줄요약
무신사 후기 목록 API의 병목을 분석해 상품 단위 캐시와 로직 분리를 적용했습니다. 무진장 기간 기준 응답속도와 pods 수를 함께 줄여 안정성을 높였습니다.
문제 상황
- 무신사 무진장 기간, 상품 상세의 후기 목록 API 응답 지연이 250~300ms 수준으로 가장 느린 병목
- 트래픽 급증 시 후기 서비스의 EKS pods, DB, Elasticsearch, 연관 API 호출 비용까지 함께 증가하는 구조
- 후기 조회 내부에 상품 정보, 연관 상품, 필터 생성, 숨김/차단 회원 필터링 등 처리 단계가 과도하게 누적된 상태
원인 분석
- 상품 상세 페이지의 후기 요청이 상품번호 단위로 반복 발생하지만, 결과를 재사용하지 못하는 구조
- 후기 목록 응답을 만들기 위해 여러 하위 API와 데이터 후처리가 연쇄적으로 수행되는 비효율
- 개인화 처리와 공통 데이터 조회가 섞여 있어 캐싱 적용이 어려운 구조
해결 방법
- 개인화 처리와 상품 공통 조회를 분리하여 상품 단위 캐시 적용 가능하도록 재구성
- 중복 로직과 불필요한 처리 제거로 후기 데이터 조회 경로 단순화
- k6 부하 테스트로 성능 검증 후, 평균 응답지연 300ms에서 100ms 수준으로 개선
