본문 바로가기
Etc.

[Amazon RDS] MariaDB "Too Many Connections" 에러 해결

by _Chavi 2023. 6. 26.

아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 사용 중에 발생한 에러 해결법을 기록합니다.

 

오류상황
클래스 : db.t2.small
엔진 버전 : MariaDB 10.6
리전 및 AZ : ap-northeast-2c

위의 환경에서 "Too Many Connections" 에러가 발생하였습니다. 

 

예상되는 원인

1. 부족한 Connection Pool의 개수 - DB인스턴스의 메모리 용량에 영향을 받는 값인"{DBInstanceClassMemory/12582880}"로 설정돼 있어 필요한 Connection 개수를 확보하지 못함.

 

2. 과도한 Timeout 여유 - 기본 Timeout 시간이 28800초(8시간)로 설정돼 있어 개발자들이 열어놓은 커넥션이 무의미하게 계속 유지됨.

 

위의 두 가지 이유로 예상되었습니다.

 

해결방법

해당 인스턴스의 MAX_CONNECTION과 WAIT_TIMEOUT을 수정하여 해결했습니다.

 

1. 파라미터 그룹 생성

2. 파라미터 그룹의 값 수정

3. 인스턴스에 파라미터 그룹 설정

4. (선택) 재부팅

 

위의 예시에선 MAX_CONNECTION을 편의상 300으로 늘렸으나, 인스턴스 크기에 맞게 조절해 주시면 좋습니다.

결과

수정 전

수정 후

Timeout을 줄여준 부분이 조금 더 효과적이었던 거 같습니다.

 

참고 : 링크1

댓글