Menu Docs

Página inicial do DocsDesenvolver aplicaçõesDrivers PythonPyMongo

Comprimir tráfego de rede

Nesta página

  • Visão geral
  • Especifique algoritmos de compactação
  • Definir o nível de compressão zlib

O PyMongo fornece uma opção de conexão para comprimir mensagens, o que reduz a quantidade de dados passados pela rede entre o MongoDB e seu aplicativo.

O PyMongo suporta os seguintes algoritmos de compressão.

  1. Snappy: disponível no MongoDB 3.6 e posterior. Esta opção requer o python-snappy pacote.

  2. zlib: disponível no MongoDB 3.6 e posterior. Esta opção requer o módulo zlib, incluído na biblioteca padrão no Python v1.5 e mais tarde.

  3. Zstandard: disponível no MongoDB 4.2 e posterior. Esta opção exige o padrão z pacote.

Se você não especificar um algoritmo de compressão, o PyMongo não comprimirá o tráfego de rede. Se você especificar vários algoritmos de compressão, o driver selecionará o primeiro na lista compatível com sua instância do MongoDB.

Para habilitar a compressão para a conexão com sua instância do MongoDB, use a opção de conexão compressors e especifique os algoritmos de compressão que deseja usar. Você pode fazer isso de duas maneiras:

  • Passe os algoritmos como um argumento para o construtor MongoClient .

  • Especifique os algoritmos na sua connection string.

O seguinte exemplo de código mostra ambas as opções:

Se você especificar zlib como um dos algoritmos de compressão, também poderá usar a opção zlibCompressionLevel para especificar um nível de compressão. Esta opção aceita um valor inteiro entre -1 e 9:

  • -1: (padrão). zlib usa seu nível de compressão padrão (geralmente 6).

  • 0: sem compressão.

  • 1: velocidade mais rápida, mas menor compressão.

  • 9: a melhor compactação, mas a velocidade mais lenta.

O seguinte exemplo de código especifica o algoritmo de compressão zlib e um valor de 1 para a opção zlibCompressionLevel :

← Configurar o TLS (Transport Layer Security)