RDS 커넥션 제한과 Hikari CP 충돌 문제 - Genie-Uss/genieus GitHub Wiki

RDS 내 too many connections 해결 사례

인프라 비용 제약 조건에서 데이터베이스 연결 문제를 해결한 사례를 공유합니다.

문제 상황

  • 인프라 제약으로 t4g.micro 프리티어 RDB 사용
  • t4g.micro의 최대 DB 커넥션 연결 수: 약 65개
  • Spring의 HikariCP 기본 설정: 10개 커넥션 생성
  • DB 커넥션을 사용하는 마이크로 서비스 수: 최소 7개
  • (7개 서비스 × 커넥션 10개 = 최소 70개) > 제한 65개
  • 결과: RDB 내 "too many connections" 오류 발생

해결 방안

  • 마이크로 서비스별 HikariCP 커넥션 풀 크기를 5개로 감소시킴
  • 중요도에 따라 주요 서비스에는 상대적으로 더 많은 연결을 할당
  • 전체 연결 수가 인스턴스 한계 이내로 유지되도록 모니터링 및 조정

이러한 리팩토링을 통해 제한된 환경에서도 안정적인 DB 연결 관리가 가능해졌습니다.