개요
이 가이드 에서는 PyMongo 가 연결 풀을 사용하여 MongoDB deployment 에 대한 연결을 관리 방법과 애플리케이션 에서 연결 풀 설정을 구성하는 방법에 대해 학습 합니다.
연결 풀 은 PyMongo 에서 유지 관리하는 개방형 데이터베이스 연결의 캐시 입니다. 애플리케이션 이 MongoDB 에 대한 연결을 요청하면 PyMongo 풀에서 원활하게 연결을 가져오고, 작업을 수행하고, 재사용을 위해 풀에 연결을 반환합니다.
연결 풀은 애플리케이션 지연 시간 줄이고 PyMongo 에서 새 연결을 생성하는 횟수를 줄이는 데 도움이 됩니다.
연결 풀 구성
MongoClient 객체 또는 연결 URI에서 다음 연결 풀 설정을 지정할 수 있습니다.
설정 | 설명 |
|---|---|
| PyMongo 시간 초과되기 전에 새 연결을 설정할 때 대기하는 시간입니다. |
| 각 풀이 동시에 설정할 수 있는 최대 연결 수입니다. 이 제한에 도달하면 연결이 설정되거나 사용 중인 다른 연결이 풀에 다시 체크인될 때까지 추가 요청이 대기합니다. |
| 연결이 풀에서 유휴 상태로 유지될 수 있는 최대 시간입니다. 연결이 이 제한을 초과하면 PyMongo 연결을 닫고 풀에서 제거합니다. 예기치 않은 연결 끊김을 방지하려면 이 값을 애플리케이션의 예상 유휴 기간보다 |
| 풀이 |
| 풀이 유지하는 최소 동시 연결 수입니다. 네트워크 오류로 인해 열린 연결 수가 이 값 이하로 내려갈 경우 PyMongo는 이 최소값을 유지하기 위해 새 연결을 만들려고 시도합니다. |
| PyMongo가 시간이 초과되기 전에 서버에서 응답을 기다리는 시간입니다. |
| 타임아웃되기 전에 연결 풀에서 연결을 사용할 수 있을 때까지 스레드가 대기하는 시간입니다. |
다음 코드는 maxPoolSize 매개변수를 사용하여 최대 연결 풀 크기가 50 인 클라이언트 만듭니다. Synchronous 또는 Asynchronous 탭 선택하여 해당 코드를 확인합니다.
client = MongoClient(host, port, maxPoolSize=50)
client = AsyncMongoClient(host, port, maxPoolSize=50)
다음 코드는 앞의 예시 와 구성이 동일하지만 연결 URI를 사용하여 클라이언트 생성합니다.
client = MongoClient(host, port, maxPoolSize=50)
client = AsyncMongoClient(host, port, maxPoolSize=50)
추가 정보
연결 풀에 대해 자세히 학습 MongoDB Server 매뉴얼의 연결 풀 개요를 참조하세요.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.