AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

연결 풀

이 가이드 에서는 스칼라 운전자 연결 풀을 사용하여 MongoDB deployment 에 대한 연결을 관리 방법과 애플리케이션 에서 연결 풀 설정을 구성하는 방법에 대해 학습 합니다.

연결 풀 스칼라 운전자 에 의해 유지 관리되는 개방형 데이터베이스 연결의 캐시 입니다. 애플리케이션 은 풀에서 연결을 검색하고, 작업을 수행하고, 재사용을 위해 연결을 반환합니다.

연결 풀 사용하면 지연 시간 줄어들고 운전자 새 연결을 생성하는 횟수가 최소화됩니다.

모든 MongoClient 인스턴스 에는 MongoDB 토폴로지 의 각 서버 에 대한 내장 연결 풀 있습니다. 연결 풀은 필요에 따라 소켓을 열어 애플리케이션 에서 동시 MongoDB 작업을 지원 .

maxPoolSize 옵션은 각 연결 풀 의 최대 크기를 설정하며, 기본값은 100입니다. 서버 에 대한 사용 중인 연결 수가 maxPoolSize 값에 도달하면 해당 서버 에 대한 다음 요청 연결을 사용할 수 있을 때까지 기다립니다.

MongoClient 인스턴스 서버의 상태 모니터링 위해 MongoDB 토폴로지 에서 서버 당 두 개의 소켓을 더 엽니다.

연결 문자열 또는 MongoClientSettings 객체 사용하여 연결 풀 구성할 수 있습니다.

Connection String 또는 MongoClientSettings 탭 선택하여 해당 구문을 확인합니다.

다음 표에서는 연결 풀 구성하기 위한 연결 문자열 옵션에 대해 설명합니다.

옵션
설명

maxConnecting

운전자 동시에 설정할 수 있는 최대 연결 수입니다.

기본값입니다: 2

maxIdleTimeMS

운전자 연결을 닫기 전에 연결이 풀에서 유휴 상태로 유지될 수 있는 최대 시간(밀리초)입니다. 0 값은 제한이 없음을 나타냅니다.

기본값입니다: 0

maxPoolSize

운전자 단일 연결 풀 에서 한 번에 열 수 있는 최대 연결 수입니다.

기본값입니다: 100

minPoolSize

운전자 단일 연결 풀 에서 유지 관리하는 최소 연결 수입니다. 이 값은 maxPoolSize보다 작아야 합니다.

기본값입니다: 0

waitQueueTimeoutMS (사용 중단됨)

이 옵션은 더 이상 사용되지 않습니다. 대신 을(를) timeoutMS 사용하세요. 자세한 학습 은 서버 실행 시간 제한을 참조하세요.

연결이 가능해질 때까지 작업이 기다릴 수 있는 최대 대기 시간(밀리초)입니다. 0 값은 제한이 없음을 의미합니다.

기본값입니다: 120000

maxLifeTimeMS

연결이 열린 상태로 유지될 수 있는 최대 시간(밀리초)입니다. 0 값은 제한이 없음을 나타냅니다.

기본값입니다: 0

자세한 내용은 ConnectionString API 설명서를 참조하세요.

applyToConnectionPoolSettings() 메서드를 MongoClientSettings.Builder 클래스에 연결하여 연결 풀 구성합니다. 다음 표에서는 풀을 구성하기 위해 연결할 수 있는 ConnectionPoolSettings.Builder 메서드에 대해 설명합니다.

메서드
설명

addConnectionPoolListener()

연결 풀 이벤트에 대한 리스너를 추가합니다.

applyConnectionString()

ConnectionString 객체 의 설정을 적용합니다.

applySettings()

ConnectionPoolSettings 객체 의 설정을 적용합니다.

connectionPoolListenerList()

연결 풀 리스너 목록을 설정합니다.

maintenanceFrequency()

유휴 연결 및 만료된 연결을 관리하는 주기적 작업 의 빈도를 설정합니다.

maintenanceInitialDelay()

연결 풀 에서 첫 번째 유지 관리 작업 실행 전에 대기할 시간을 설정합니다.

maxConnectionIdleTime()

풀링된 연결의 최대 유휴 시간을 설정합니다. 0 값은 제한이 없음을 나타냅니다.

maxConnectionLifeTime()

풀링된 연결의 최대 수명을 설정합니다. 0 값은 제한이 없음을 나타냅니다.

maxConnecting()

풀이 동시에 설정할 수 있는 최대 연결 수를 설정합니다.

기본값입니다: 2

maxSize()

풀에서 허용되는 최대 연결 수를 설정합니다.

기본값입니다: 100

maxWaitTime()

사용 가능한 연결을 기다리는 최대 시간을 설정합니다.

기본값입니다: 2

minSize()

운전자 풀에서 유지 관리하는 최소 연결 수를 설정합니다.

기본값입니다: 0

참고

maxSize()minSize() 설정은 풀 전체가 아닌 배포서버 의 각 서버 에 개별적으로 적용 .

자세한 학습 은 ConnectionPoolSettings.Builder API 설명서를 참조하세요.

다음 예시는 최대 크기가 50 연결인 연결 풀을 생성하는 방법을 보여줍니다.

Connection String 또는 MongoClientSettings 탭 선택하여 해당 구문을 확인합니다.

val mongoClient = MongoClient("mongodb://<host>:<port>/?maxPoolSize=50")
val settings = MongoClientSettings.builder()
.applyConnectionString(ConnectionString("<connection string>"))
.applyToConnectionPoolSettings(
(builder: ConnectionPoolSettings.Builder) => builder.maxSize(50))
.build()
val mongoClientWithSettings = MongoClient(settings)

연결 풀 사용에 대한 자세한 내용은 서버 매뉴얼의 연결 풀 문서를 참조하세요.

이 가이드 에서 설명하는 유형 및 메서드에 대해 자세히 학습 다음 API 문서를 참조하세요.