연결 문제 해결
연결 경고는 일반적으로 MongoDB 프로세스에 허용되는 최대 연결 수를 초과했을 때 발생합니다. 이 한도를 초과하면 열린 연결의 횟수가 한도 미만으로 줄어들 때까지 새로운 연결을 열 수 없습니다.
경고 조건
프로젝트 수준 경고 설정 페이지에서 다음과 같은 경고 조건을 구성하여 경고를 트리거할 수 있습니다.
Connections
호스트에 대한 활성 연결의 횟수가
지정된 평균을 충족하는 경우에 발생합니다.
Connections % of configured limit
호스트에 대한 열린 연결의 횟수가
지정된 백분율을 초과하는 경우에 발생합니다.
일반적인 트리거
Atlas cluster 의 연결 한도 초과가 발생하는 데에는 여러 가지 이유가 있습니다. Atlas 계층마다 연결 한도 가 다릅니다. 예를 예시 M0/M2/M5
크기의 클러스터는 500 연결로 제한되고, M10
크기의 클러스터는 1500 연결로 제한됩니다. 클러스터 계층이 클수록 연결 한도도 커집니다. 데이터베이스 액세스 애플리케이션마다 연결 풀링 을 구현하는 방법이 다르며, 이는 애플리케이션 이 특정 시간에 유지 관리하는 열린 연결의 수에 영향을 미칩니다.
즉각적인 문제 해결
M0/M2/M5 클러스터
연결 경고 상태를 해결하려면 현재 Atlas 클러스터에 연결 중인 애플리케이션을 다시 시작하세요. 애플리케이션을 다시 시작하면 해당 애플리케이션에서 열려 있던 기존 연결이 모두 종료되어 Atlas 클러스터가 정상 작동을 재개할 수 있습니다.
클러스터 수 1,000만 개 이상
크기가 M10
이상인 Atlas 클러스터의 경우 프라이머리 페일오버 테스트 옵션을 사용할 수 있습니다. 프라이머리 페일오버 테스트 절차는 현행 프라이머리 노드를 끄고 투표를 발동시킵니다. 투표가 발동되면 프라이머리 노드에 대한 모든 연결이 제거됩니다.
참고
애플리케이션이 세컨더리 노드에만 연결된 경우, 페일오버 테스트 절차를 여러 번 수행해서 해당 세컨더리 노드의 위치가 복제본 세트 내에서 돌아가면 연결이 끊어지는지를 확인해야 할 수 있습니다.
페일오버 테스트는 통상적으로 선호되는 해결책입니다. 다만 이외에도 가능한 해결책이 바로 현재 Atlas 클러스터에 연결 중인 애플리케이션을 다시 시작하는 것입니다. 애플리케이션을 다시 시작하면 기존 연결이 모두 종료되어 Atlas 클러스터가 정상 작동을 재개할 수 있습니다.
장기적인 솔루션 구현
연결 경고는 일반적으로 더 큰 문제를 알리는 징후입니다. 상기 전략 중 한 가지를 활용하면 당장의 문제는 해결될 것입니다. 하지만 영구적인 해결책을 적용하려면 보통 다음 두 작업 중 하나를 수행해야 합니다.
진행 상황 모니터링
클러스터에 대한 총 연결 수를 모니터링하려면 Connections 차트를 확인하세요.
연결을 모니터링하여 현재 연결 제한이 충분한지 확인합니다. 필요한 경우 클러스터 계층을 업그레이드합니다.
자세한 내용은 클러스터 지표 보기를 참조하세요.