소개
성능 테스트 중 DB 연결이 소진되어 최대 연결 값을 조정하였습니다당시 우리는 AWS Amazon 와이즈 토토 PostgreSQL 서버리스 클러스터와 연결된 DB 매개변수 그룹에 설정된 max_connections 값을 변경했습니다그러나 실제 기기에 그 값이 반영되지 않는 사건이 발생하여 당시 발견된 사양을 아래와 같이 정리하였습니다
환경 및 조사 결과
- 배경: 성능 검증을 위해 와이즈 토토 PostgreSQL Serverless의 최대 연결 수를 변경해 달라는 요청이 있었습니다
- 환경: 야간에는 비용 절감을 위해 와이즈 토토 PostgreSQL Serverless의 최소 ACU가 0으로 설정됩니다*ACU(와이즈 토토 용량 단위)는 와이즈 토토의 용량 단위를 나타냅니다
- 작동: 성능 테스트 중에 최소 및 최대 ACU가 모두 1 이상의 값으로 변경됩니다
조사 결과, 와이즈 토토 PostgreSQL Serverless에는 다음과 같은 제한 사항이 있는 것으로 나타났습니다
최소 ACU가 0~05로 설정되면 max_connections는 "2000"으로 제한됩니다
대책 및 주의사항
max_connections를 "2000"보다 큰 값으로 변경하려면 다음 조치가 필요합니다
- 최소 ACU를 1 이상으로 설정
- 최소 ACU 변경 후 인스턴스 재시작
성능 테스트 중 수행된 Max_connections 적용 절차
*전제 조건: max_connections 매개변수가 이미 "2000"보다 큰 값으로 설정되었습니다
-
와이즈 토토 PostgreSQL 서버리스 시작(최소 ACU는 0)→이번에는 제한으로 인해 max_connections를 "2000"보다 큰 값으로 설정할 수 없습니다
-
와이즈 토토 PostgreSQL 서버리스의 최소 ACU를 1 이상으로 변경
-
와이즈 토토 PostgreSQL 서버리스 다시 시작→여기서 max_connections 매개변수에 설정된 "2000"보다 큰 값
참조AWS 와이즈 토토 PostgreSQL Serverless의 기본 설정에서 max_connections는 다음 공식으로 설정됩니다
최소(DBInstanceClassMemory/9531392
공식에 max_connection 값을 지정하면 최대 ACU를 변경할 때 다시 시작하면 최적의 max_connections 값이 적용됩니다
요약
- 최소 ACU가 0~05로 설정되면 max_connections는 "2000"으로 제한됩니다
- 최소 ACU를 0~05에서 1 이상으로 변경할 때 "2000"보다 큰 max_connections 값을 적용하려면 재부팅이 필요합니다
Amazon 와이즈 토토 Serverless를 사용할 기회가 나날이 늘어날 것이라고 생각합니다

