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

네트워크 트래픽 압축

MongoDB 드라이버는 MongoDB Server 와 주고받는 메시지를 압축할 수 있습니다. 이렇게 하면 각 작업에 대해 전송되는 데이터 양이 줄어듭니다. 압축은 제한된 네트워크에서 성능을 향상시키고 MongoDB Atlas 실행 과 관련된 데이터 전송 비용을 낮출 수 있습니다.

압축은 유선 프로토콜 수준에서 작동하므로 애플리케이션 수행하는 모든 작업에 적용됩니다. 알고리즘 두 개 이상 지정하는 경우 운전자 MongoDB Server 도 지원하는 목록의 첫 번째 알고리즘 사용합니다.

MongoDB 드라이버는 다음 압축 알고리즘을 지원 .

MongoDB Atlas cloud 리전, cloud 제공자 간, 인프라와 MongoDB Atlas 간에 전송되는 데이터에 대해 요금을 부과합니다. 네트워크 압축은 애플리케이션 보내고 받는 데이터의 양을 줄여서 이러한 데이터 전송 비용을 낮출 수 있습니다. 요금에 대해 자세히 학습 데이터 전송 비용을 참조하세요.

네트워크 압축은 생산성 이점도 있습니다. 압축된 메시지는 네트워크를 통해 전송되는 데 시간이 덜 걸리므로 애플리케이션의 응답 시간을 개선할 수 있습니다. 또한 압축은 MongoDB 트래픽이 사용하는 대역폭을 줄여 동일한 네트워크의 다른 애플리케이션에서 사용할 수 있는 대역폭을 더 많이 확보합니다.

압축 알고리즘 선택할 때 다음 지침을 고려하세요.

  • 압축 효율성 과 리소스 사용량의 균형을 맞추려면 Zstandard를 사용하세요. Zstandard는 대부분의 애플리케이션에 적합한 기본값 선택입니다.

  • 최소한의 계산 오버헤드 필요한 지연 시간에 민감한 애플리케이션에는 Snappy를 사용하세요.

  • MongoDB 드라이버 및 환경 전반에서 광범위한 호환성을 위해 Zlib를 사용하세요.

팁

CPU 사용량 모니터링

압축은 네트워크 대역폭을 CPU 사용량과 맞바꾸니다. 네트워크 압축을 활성화한 후 애플리케이션의 CPU 사용률을 모니터링하여 이러한 맞바꾸이 워크로드에 도움이 되는지 확인합니다. 이러한 맞바꾸에 대해 자세히 알아보려면 MongoDB에서의 CPU 사용률 및 네트워크 압축 블로그 포스트를 참조하십시오.

다음 표에는 각 압축 알고리즘 에 대해 지원되는 최소 운전자 및 MongoDB Server 버전이 나열되어 있습니다.

압축 알고리즘
최소 드라이버 버전
최소 서버 버전

3.6

4.2

3.6

4.2

3.11

4.2

MongoDB 연결에 네트워크 압축을 활성화 하려면 필요한 종속성을 설치하고 사용할 압축 알고리즘을 지정합니다.

다음 표에는 각 알고리즘 과 필요한 종속성이 나열되어 있습니다(있는 경우):

압축 알고리즘
의존

스내피

Snappy 라이브러리용 Java JNI 래퍼인 를 다운로드합니다. 설치하려면 snappy-java Maven Central의 snappy-java를 참조하세요.

zlib

없음. 운전자 기본적으로 Zlib 압축을 지원합니다.

Zstandard

Zstandard 라이브러리용 Java JNI 래퍼 (wrapper)인 zstd-jni을 다운로드합니다. 설치하려면 Maven Central에서 zstd-jni를 참조하세요.

다음 방법 중 하나로 알고리즘을 지정하여 MongoDB 인스턴스 에 대한 연결에 압축을 활성화 할 수 있습니다.

  • 연결 문자열 에 compressors 매개변수 사용

  • compressorList() 메서드를 MongoClientSettings.builder() 메서드에 연결

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

압축을 활성화 하려면 연결 문자열 에 다음 매개변수를 포함하세요.

옵션 이름
유형
설명

compressors

문자열

연결된 MongoDB 인스턴스로 전송된 요청을 드라이버가 압축하는 데 사용할 하나 이상의 압축 알고리즘을 지정합니다. 사용 가능한 값: zlib, snappy, zstd.

기본값: null

zlibCompressionLevel

integer

연결된 MongoDB 인스턴스 에 대한 요청의 크기를 줄이기 위해 Zlib가 사용하는 압축 정도를 지정합니다. 이 수준의 범위 는 -1 ~ 이며,9 값이 낮을수록 압축 속도가 빨라지지만 요청 크기가 커지며, 값이 클수록 압축 속도가 느려지지만 요청 크기는 작아집니다.

기본값: null

다음은 운전자 요청을 전송하기 전에 압축을 시도하는 순서를 지정합니다.

ConnectionString connectionString = new ConnectionString(
"mongodb+srv://<db_username>:<db_password>@<cluster-url>/?compressors=snappy,zlib,zstd");
MongoClient client = MongoClients.create(connectionString);

이러한 매개변수에 대한 자세한 내용은 ConnectionString API 설명서를 참조하세요.

드라이버의 압축 동작을 수정하려면 다음 메서드를 MongoClientSettings 생성자에 연결합니다.

메서드
설명

compressorList()

서버에 대한 메시지를 압축하는 데 사용할 압축기를 설정합니다.

MongoClientSettings settings = MongoClientSettings.builder()
.compressorList(Arrays.asList(MongoCompressor.createSnappyCompressor(),
MongoCompressor.createZlibCompressor(),
MongoCompressor.createZstdCompressor()))
.build();
MongoClient client = MongoClients.create(settings);

연결된 메서드에 대한 자세한 내용은 MongoClientSettings.Builder API 설명서를 참조하세요.

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.