Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Comprimir tráfego de rede

Os drivers do MongoDB podem compactar as mensagens enviadas e recebidas do MongoDB Server. Isso reduz a quantidade de dados transferidos para cada operação. A compressão pode melhorar o desempenho em redes restritas e reduzir os custos de transferência de dados associados à execução do MongoDB Atlas.

A compressão opera no nível do protocolo de conexão , portanto, ela se aplica a todas as operações que seu aplicação executa. Se você especificar mais de um algoritmo, o driver usará o primeiro algoritmo da sua lista que o MongoDB Server também suportará.

Os drivers do MongoDB suportam os seguintes algoritmos de compressão:

MongoDB Atlas charges for data transferred across cloud regions, cloud providers, and between your infrastructure and MongoDB Atlas. Network compression reduces the amount of data that your application sends and receives, which can lower these data transfer costs. To learn more about pricing, see Data Transfer Costs.

A compactação de rede também gera benefícios de produtividade. As mensagens compactadas levam menos tempo para serem transferidas pela rede, o que pode melhorar o tempo de resposta do seu aplicativo. A compactação também reduz a largura de banda usada pelo tráfego do MongoDB , o que deixa mais largura de banda disponível para outros aplicativos na mesma rede.

Ao escolher um algoritmo de compressão, considere as seguintes diretrizes:

  • Use o Zstandard para obter um equilíbrio entre eficiência de compactação e uso de recursos. O Zstandard é uma boa opção padrão para a maioria dos aplicativos.

  • Use o Snappy para aplicativos sensíveis à latência que exigem sobrecarga computacional mínima.

  • Use o Zlib para ampla compatibilidade entre drivers e ambientes MongoDB .

Dica

Monitore o uso da CPU

Compression trades network bandwidth for CPU usage. After you enable network compression, monitor your application's CPU utilization to confirm that the trade-off benefits your workload. To learn more about these trade-offs, see the CPU Utilization and Network Compression in MongoDB blog post.

A tabela a seguir lista o driver mínimo suportado e a versão do MongoDB Server para cada algoritmo de compressão:

Algoritmo de compressão
Versão mínima do driver
Versão mínima do servidor

1.7

4.2

1.7

4.2

1.15

4.2

Para habilitar a compactação de rede para sua conexão do MongoDB , crie o driver C com as dependências necessárias e especifique os algoritmos de compactação que você deseja usar.

A tabela a seguir lista cada algoritmo e a dependência necessária, se houver:

Compression Algorithm
Dependência

Snappy

Instale a biblioteca Snappy. Para visualizar as instruções de instalação, consulte o repositório snappy GitHub.

zlib

Nenhum. O driver inclui o Zlib por padrão.

Zstandard

Instale a biblioteca Zstandard. Para visualizar as instruções de instalação, consulte o repositório zstd do GitHub.

Você pode habilitar a compressão para a conexão com sua instância do MongoDB especificando os algoritmos de uma das seguintes maneiras:

  • Adicione o parâmetro compressors à sua string de conexão

  • Defina os compressores em uma estrutura mongoc_uri_t

Selecione a aba Connection String ou URI Option para visualizar um exemplo que especifica todos os compressores disponíveis:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=snappy,zlib,zstd");
uri = mongoc_uri_new("mongodb://localhost:27017");
mongoc_uri_set_compressors(uri, "snappy,zlib,zstd");
client = mongoc_client_new_from_uri(uri);

Ao usar o algoritmo Zlib, você pode especificar um nível de compressão de -1 a 9. Níveis mais baixos geralmente fornecem compressão mais rápida com uma taxa de compressão menor, e níveis mais altos fornecem compressão mais lenta com uma taxa de compressão mais alta.

Selecione a aba Connection String ou URI Option para visualizar um exemplo que especifica um nível de compressão para o compressor zlib:

client = mongoc_client_new("mongodb://<db_username>:<db_password>@<hostname>/?compressors=zlib&zlibCompressionLevel=<zlib_compression_level");
uri = mongoc_uri_new("mongodb://localhost:27017");
mongoc_uri_set_option_as_int32(uri, MONGOC_URI_ZLIBCOMPRESSIONLEVEL, <zlib-compression-level>);
client = mongoc_client_new_from_uri(uri);

Para obter mais informações sobre os tipos e funções usadas nesta página, consulte a seguinte documentação da API: