728x90
반응형
문제 상황
AWS RDS를 사용하는데 too many connections 오류로 인해서 mysql에 들어갈 수 없었다.
문제 원인
spring boot 프로젝트 당 default connection 값이 10이다. max_connections가 30개였고, 프로젝트를 3개를 연결해 두었기 때문에 문제가 발생한 것이다. 하나의 RDS에 프로젝트가 3개만 붙어도 커넥션이 터지는 상황 발생한 것이라 max_connections을 조절해야 했다.
해결 방법
max_connections 와 wait_timeout 값을 조정한다. 이 값들은 AWS Console에서 변경 가능하다.
max_connection: 클라이언트가 동시에 접속할 수 있는 커넥션 수
wait_timeout: 사용하지 않는 커넥션이 닫히는 데까지 서버가 대기하는 시간
1. 새로운 파라미터 그룹 만들기
AWS Console → RDS → 파라미터 그룹 → 파라미터 그룹 생성
현재 연결되어 있는 그룹 말고 새로운 그룹을 만들어 주었다.
검색창에 max_connections를 입력해보면, LEAST({DBInstanceClassMemory/25165760},12000) 이런 값이 들어 있다.해당 값은 RDS 메모리에 따라 달라지는데, db.t3.micro 기준 max_connections는 31이 나온다. 이 값을 100으로 바꾸어주었다.
다음은 검색창에 wait_timeout을 180으로 바꾸어 주었다.
2. 새로운 파라미터 그룹을 기존 RDS에 적용
데이터 베이스 → 원하는 DB선택 → 수정
데이터베이스 옵션에서 DB 파라미터 그룹을 지금 새롭게 만든 그룹으로 변경해주었다.
3. RDS 재부팅
데이터베이스 → 원하는 DB 선택 → 작업 → 재부팅
[해결에 참고한 사이트]
728x90
반응형
'SWM: LoF Project' 카테고리의 다른 글
[멘토링] SQL Performance - 성능개선 이론 (0) | 2022.09.15 |
---|