이태랑
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

온프레미스