피드로 돌아가기
올리브영 테크블로그Database
원문 읽기
오라클 클라우드 전환 - 올리브영 주문 서비스 사전 점검기
올리브영이 물리 DB에서 Oracle Cloud Infrastructure로 마이그레이션하며 주문 처리 쿼리 응답시간을 50~200ms에서 3~4ms로 단축
AI 요약
Context
올리브영의 주문 서비스는 물리 DB 기반 IDC 환경에서 자원 확장의 한계에 직면했다. 사용자 증가에 따라 DB 튜닝 및 분리 작업을 수행했으나 제한된 물리 자원으로는 지속적인 성능 향상이 불가능했고, 이로 인해 복잡한 트랜잭션 처리(주문정보/쿠폰/재고 처리 등)에서 지연이 발생할 수 있는 위험성이 있었다.
Technical Solution
- 3가지 사전 점검을 통한 마이그레이션 안전성 확보: DB 링크 사용 지점 파악 및 방화벽 조치, 주문 기능 전체 QA 진행, 성능 테스트 수행
- 성능 비교 측정을 위해 AS-IS(물리 DB 2 Core)와 TO-BE(OCI DB 8 Core)를 Core Factor 기반으로 동등하게 구성: IBM 물리 DB는 Core Factor 1, OCI DB는 0.5이고 클라우드 구성 차이를 고려하여 1 Core 당 4 Core 규모로 설정
- JMeter와 nGrinder를 활용한 2단계 성능 측정: 로컬 환경에서 애플리케이션 처리 부분 확인 후 AWS Sandbox의 nGrinder로 실제 성능 측정 진행
- 4가지 실제 주문 케이스 기반 측정: 단일 상품(SKU 1개), 복합 상품 3가지(SKU 2~5개 + 증정품 1~3개)
- 성능 테스트 결과에 따른 반복적 튜닝: 예상과 다른 쿼리 플랜 변경으로 인한 성능 저하를 DBA와 협력하여 개선, OCI 환경에 맞는 튜닝 포인트 발굴
Impact
- Heavy Query 응답 시간: 기존 50ms~200ms → 3ms~4ms (약 50~67배 개선)
- 마이그레이션 후 예상보다 많은 코어 필요: 예상 OCI 4 Core 대응 → 실제 5 Core 필요
Key Takeaway
대규모 트랜잭션 처리 서비스의 클라우드 마이그레이션에서는 사전 성능 테스트 시 실제 운영 환경과의 쿼리 플랜 변경을 고려하여 여유있는 리소스 설정과 반복적 튜닝 계획이 필수적이다.
실천 포인트
데이터베이스 마이그레이션을 계획하는 엔지니어는 원본 시스템과 대상 시스템의 Core Factor를 확인하고, 클라우드 환경의 RAC 구성 차이를 감안하여 테스트 환경 리소스를 실제 필요량보다 여유있게 할당(예: 계산값의 125% 수준)한 후, JMeter/nGrinder 같은 부하 테스트 도구로 실제 사용자 패턴 기반 측정을 수행함으로써 마이그레이션 후 성능 저하를 사전에 방지할 수 있다.