문서 메뉴

문서 홈애플리케이션 개발Python 드라이버PyMongo

네트워크 트래픽 압축

이 페이지의 내용

  • 개요
  • 압축 알고리즘 지정
  • zlib 압축 수준 설정

PyMongo는 메시지를 압축하는 연결 옵션을 제공하여 MongoDB와 애플리케이션 간에 네트워크를 통해 전달되는 데이터의 양을 줄입니다.

PyMongo는 다음 압축 알고리즘을 지원합니다.

  1. Snappy:MongoDB 3.6 이상에서 사용할 수 있습니다. 이 옵션을 사용하려면 python-snappy 가 필요합니다. 패키지.

  2. zlib:MongoDB 3.6 이상에서 사용할 수 있습니다. 이 옵션을 사용하려면 Python v1 의 표준 라이브러리에 포함된 zlib 모듈이 필요합니다.5 그리고 나중에.

  3. Zstandard: MongoDB 4 에서 사용2 가능합니다. 이상. 이 옵션을 사용하려면 zstandard 가 필요합니다. 패키지.

압축 알고리즘을 지정하지 않으면 PyMongo는 네트워크 트래픽을 압축하지 않습니다. 여러 압축 알고리즘을 지정하는 경우 드라이버는 MongoDB 인스턴스에서 지원하는 목록에서 첫 번째 압축 알고리즘을 선택합니다.

MongoDB 인스턴스에 대한 연결에 압축을 사용하려면 compressors 연결 옵션을 사용하고 사용할 압축 알고리즘을 지정합니다. 두 가지 방법으로 이 작업을 수행할 수 있습니다.

  • 알고리즘을 MongoClient 생성자에 인수로 전달합니다.

  • 연결 문자열에 알고리즘을 지정합니다.

다음 코드 예제에서는 두 옵션을 모두 보여줍니다.

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

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

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

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

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

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

← TLS(전송 계층 보안) 구성