Java 1.8Spring 4.1.6MyBatis성능 최적화
DR.G E-Commerce Platform
레거시 이커머스 성능 최적화
역할
Full-Stack Engineer / Tech Lead
기간
2023.09 - 2024.02
클라이언트
고운세상코스메틱
01문제
Spring 4.1.6 / Java 1.8 기반 레거시 이커머스 플랫폼에서 메인 화면 로딩 2.9초, 리뷰 조회 1.9초로 사용자 이탈 증가. 프레임워크 업그레이드 없이 현행 스택 내에서 성능을 개선해야 하는 제약 조건.
02판단
성능 개선 전략: 프레임워크 업그레이드 vs 현행 최적화
선택
현행 스택 내 최적화
이유
운영 중인 서비스의 안정성 우선. 프레임워크 변경 시 리스크 대비 효과 불확실. 쿼리 최적화와 캐싱으로 충분한 개선 가능하다고 판단
리뷰 시스템: 부분 수정 vs 전면 개편
선택
전면 개편
이유
기존 구조의 N+1 쿼리 문제가 근본 원인. 부분 수정으로는 89% 개선 불가능
03결과
✓
메인 화면 로딩: 2.9초 → 0.51초 (82% 개선)
✓
리뷰 조회: 1.9초 → 0.211초 (89% 개선)
✓
총 447건 커밋
✓
리뷰 시스템 전면 개편 완료
04아키텍처
graph LR
subgraph Frontend["프론트엔드"]
JSP["JSP / jQuery"]
end
subgraph Backend["백엔드"]
Spring["Spring 4.1.6<br/>MVC"]
MyBatis["MyBatis 3.3.0<br/>SQL Mapper"]
Cache["쿼리 캐싱<br/>최적화"]
end
subgraph DB["데이터베이스"]
Oracle["Oracle DB"]
end
JSP -->|HTTP| Spring
Spring --> MyBatis
Spring --> Cache
MyBatis --> Oracle
Cache --> Oracle
05기술 스택
frontend
JSP, jQuery
backend
Java 1.8, Spring 4.1.6, MyBatis 3.3.0
database
Oracle
infra
온프레미스
