아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
컬리 favicon컬리

VSMS, 데드락을 넘어 1500 TPS 달성!

by DD
2020-09-06
5년 전
조회수 6

DB 데드락 발생으로 인해 초기 성능 테스트에서 TPS 120이라는 처참한 결과를 기록함

상품 정렬을 통해 데드락을 해결하고, DB IO 최소화를 위한 리팩토링을 진행함

MongoDB로 로그 분리 후, 최종적으로 1500 TPS 이상을 달성하며 목표 성능을 초과 달성함

데드락 해결: 상품 정렬의 마법

초기 성능 테스트에서 데드락으로 인해 심각한 병목 현상이 발생했다. 구체적으로, 상품 차감 시 락 획득 순서가 달라 발생하는 문제였다. 따라서, 상품 ID 정렬을 통해 락 획득 순서를 통일하여 데드락을 해결했다. 결과적으로, TPS 120에서 벗어나 성능 개선의 발판을 마련했다.

DB IO 병목 현상: 튜닝의 핵심

데드락 해결 후, DB IO가 성능 병목의 주원인임을 파악했다. 따라서, DB 커넥션을 줄이기 위해 로그 데이터를 MongoDB로 분리했다. 반면, 리팩토링 과정에서 코드 가독성이 저하되는 트레이드오프가 발생했다. 결과적으로, 1500 TPS를 달성하며 목표 성능을 초과했다.

성능 테스트: 반복과 개선의 중요성

성능 테스트를 통해 문제점을 지속적으로 발견하고 개선하는 과정이 중요했다. 구체적으로, DB IO 병목을 해결하기 위해 다양한 실험을 진행했다. 따라서, 리팩토링 전후 성능 비교를 통해 최적의 선택을 할 수 있었다. 결과적으로, 지속적인 개선을 통해 서비스 안정성을 확보했다.

신규 서비스 배포 전에 실험과 개선을 반복한 이야기
중급
아키텍처
Java
MongoDB
RDS
SQL
Backend
Data
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

MongoDB 커넥션 풀 모니터링 시스템 구축으로 서비스 안정성 확보!

펫프렌즈 로고

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

Spring AI 2.0 출시 및 CVE 급증 소식

스프링 로고

Spring Boot 4.1 출시 후 최신 Spring 생태계 소식 모음!

스프링 로고

소프트웨어 혁신의 역사, 어떤 기술이 세상을 바꿨을까?

랍스타즈 로고

미국 개발자 채용 시장, 지금 가장 핫한 기술은?

레딧 로고
컬리 favicon컬리
중급
아키텍처
Java
MongoDB
RDS
SQL
Backend
Data

관련 추천 글

MongoDB 커넥션 풀 모니터링 시스템 구축으로 서비스 안정성 확보!

펫프렌즈 로고

스프링 데이터(Spring Data) 2026.0.0-M2 출시: Redis, MongoDB 기능 개선!

스프링 로고

Spring AI 2.0 출시 및 CVE 급증 소식

스프링 로고