목록 보기
한계에 도달한 전시 서버, 그리고 우리의 해답
백엔드

한계에 도달한 전시 서버, 그리고 우리의 해답

11번가
11번가
2025년 11월 25일

두줄요약

전시 API 서버의 트래픽 증가와 Scale-in 전환에 맞춰 성능 최적화 과정을 정리했습니다. MongoDB 커넥션, 재시도 정책, 캐시와 조회 로직을 조정해 TPS와 안정성을 함께 높였습니다.

문제 상황

  • 전시 API 서버에 트래픽과 버스트 트래픽이 꾸준히 증가하며 비용과 운영 부담이 커진 상황
  • 서버 축소(Sacle-in) 전환을 위해 CPU 스파이크, 지연 트랜잭션, 메모리 압박을 동시에 해소할 필요

원인 분석

  • MongoDB 커넥션 풀의 대량 재생성 작업이 특정 시점에 집중되며 주기적인 CPU Spike 유발
  • 버스트 트래픽에서 재시도 로직과 대량 조회 command fan-out이 지연과 타임아웃을 증폭
  • 제한 없는 로컬 캐시와 대량 조회 패턴이 힙 메모리와 CPU 부하를 키우는 구조

해결 방법

  • maxConnectionIdleTime을 인스턴스별로 분산 설정해 커넥션 재생성 시점을 분산
  • 재시도 기능을 끄는 Fast-Fail 전략과 커넥션 풀 확충으로 지연 트랜잭션 완화
  • 캐시 최대 크기 설정, 캐시키 정렬, 대량 조회 분할로 리소스 사용량 안정화

다음 읽기

#cache 주제를 다룬 다른 회사 글

서버 증설 없이 처리하는 대규모 트래픽

대규모 트래픽이 몰린 라이브 쇼핑 서비스에서 Redis, DB, Gateway 병목을 줄인 방법을 공유했습니다. 서버 증설보다 모니터링과 캐시, 비동기 처리, 요청 통합을 통한 성능 개선이 핵심이었습니다.

토스
토스
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...