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 사용률 및 네트워크 압축 블로그 포스트를 참조하십시오.

C++ 운전자 MongoDB C 드라이버 사용하여 네트워크 트래픽을 압축합니다. 다음 표에는 각 압축 알고리즘 에 대해 지원되는 최소 C 운전자 및 MongoDB Server 버전이 나열되어 있습니다.

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

1.7

4.2

1.7

4.2

1.15

4.2

사용 중인 C++ 운전자 버전에 필요한 C 운전자 버전을 학습 libmongoc 호환성을 참조하세요.

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

C++ 운전자 MongoDB C 드라이버 사용하여 네트워크 압축을 구현 하므로 필요한 종속성을 사용하여 C 운전자 빌드 해야 합니다. 이러한 종속성을 보려면 C 운전자 설명서에서 설치 종속성을 참조하세요.

MongoDB 인스턴스 연결 시 압축을 활성화 하려면 URI에 compressors 연결 옵션을 포함하고 사용할 압축 알고리즘을 지정합니다. 다음 코드는 snappy, zstd 및 zlib 알고리즘을 순서대로 지정하는 방법을 보여줍니다.

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib");
mongocxx::client client(uri);
}

압축 알고리즘 중 하나로 zlib 을 지정하는 경우 zlibCompressionLevel 옵션을 사용하여 압축 수준을 지정할 수도 있습니다. 이 옵션은 -1 ~ 9 사이의 정수 값을 사용할 수 있습니다.

  • -1: (기본값). zlib 는 기본값 압축 수준(일반적으로 6)을 사용합니다.

  • 0: 압축하지 않습니다.

  • 1: 속도가 가장 빠르지만 압축률은 가장 낮습니다.

  • 9: 압축률은 가장 높지만 속도가 가장 느립니다.

다음 코드 예시 에서는 zlibCompressionLevel 옵션에 대해 zlib 압축 알고리즘 과 1 값을 지정합니다.

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1");
mongocxx::client client(uri);
}

이 페이지에 사용된 유형 및 옵션에 학습 보려면 다음 API 문서를 참조하세요.