AI Briefing

신규 서비스 배포 전에 실험과 개선을 반복한 이야기

·2020.09.07 00:00

핵심 내용

마켓컬리가 VSMS 배포 전 데드락 해결과 DB 최적화로 목표 TPS 1500을 달성했다.

자세히 보기

VSMS 배포와 성능 목표

마켓컬리의 가상 재고 관리 시스템(VSMS)이 2020년 8월 30일 라이브 배포되었다. 이 시스템은 기획, 개발, 데브옵스 팀이 약 8개월간 준비했으며, 관리자 API, 고객용 API, 배치 작업을 주요 기능으로 한다. 모든 페이지에서 재고 조회 API가 호출되므로 높은 성능이 요구되어, 예상 Peak TPS 300의 4배인 목표 TPS 1200을 설정하고 다양한 성능 테스트를 수행했다.

데드락 해결과 DB 병목 분석

개발 막바지 발견된 데드락 문제는 A, B 잠금 순서를 통일하는 3줄짜리 코드 변경으로 해결했다. 반복적인 성능 테스트 결과 DB I/O가 가장 큰 병목임을 확인했으며, 이를 해결하기 위해 처리를 하나의 클래스로 통합하고 커밋을 일괄 처리하는 실험 코드를 적용했다. 또한 수량 변경 로그를 메인 DB에서 MongoDB로 분리하여 RDB 커넥션 점유를 줄이는 시도를 했다.

성능 테스트 결과 및 배포

로그 분리 후 성능 테스트에서 11시간 45분 동안 약 6,161만 건의 요청을 처리하며 평균 1,450 TPS 이상을 기록했다. 추가 작업을 거쳐 VSMS는 1500 TPS 이상을 안정적으로 유지하며 목표 성능을 달성했다. 2020년 8월 12일 백그라운드 배포를 거쳐 8월 30일 전면 가동되었으며, 화려한 해결책보다 기본에 충실한 단순한 코드의 중요성을 재확인했다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.