본문 바로가기
[AWS-RDP]/RDS

[중요][AWS] Aurora RDS에서 ' Too many connections' 에러 발생 시 원인과 해결방법

by METAVERSE STORY 2023. 6. 19.
반응형

 

문제 현상

DBeaver로 RDS 접속 시 아래와 같은 에러 메시지가 발생하며 SQL 쿼리 실행이 불가능한 상황이 발생했다. 

 Too many connections

 

분석

CPU 나 메모리 상으로는 큰 부하가 없는 상태이며 DB 연결은 45개에 근접한 상태이다. 

확인 결과 현재 사용중인 Amazon Aurora DB의 max connection 제한에 근접하여 발생한 문제였다. 
(db.t2.small 타입의 인스턴스 기준으로 최대 45개)

Instance Class max_connections Default Value
db.t2.small 45
db.t2.medium 90
db.r3.large 1000
db.r3.xlarge 2000
db.r3.2xlarge 3000
db.r3.4xlarge 4000
db.r3.8xlarge 5000

RDS 설정 확인 시 max_connections 파라미터의 값은 아래와 같은 계산식을 통해 도출된다. 

GREATEST({log(DBInstanceClassMemory/805306368)*45},{log(DBInstanceClassMemory/8187281408)*1000})

해결방법

문제 해결을 위해 DB 클러스터 파라미터 그룹과 일반 파라미터 그룹의 max_connections의 값을 현재 값인 45에서 90으로 상향했다.

상향 후에는 connection 문제 없이 SQL 쿼리에 성공한다. 

 

AWS Console 상에서 수정한 max_connection 값은 아래 쿼리로 확인할 수 있다. 

show variables like 'max_connections'; 
관련 문서 : https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Performance.htm
 

 

 

 

출처 : https://november11tech.tistory.com/167

반응형

댓글