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.0

4.2

1.0

4.2

1.2

4.2

Para habilitar a compactação de rede para sua conexão do MongoDB , instale 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

Add the Snappy compression algorithm to your application by running the go get github.com/golang/snappy command.

zlib

The driver uses the built-in zlib package. Import the package by adding the import "compress/zlib" statement to your application files.

Zstandard

Add the Zstandard compression algorithm to your application by running the go get -u github.com/klauspost/compress command.

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

  • Defina o algoritmo de compressão em sua string de conexão

  • Set the compression algorithm in a ClientOptions instance

Para habilitar a compressão utilizando a string de conexão, adicione o algoritmo de compressão como o valor do parâmetro compressors à sua string de conexão. Você pode especificar um ou mais algoritmos de compressão separados por vírgulas:

opts := options.Client().ApplyURI("mongodb://localhost:27017/?compressors=snappy,zlib,zstd")
client, _ := mongo.Connect(opts)

To enable compression by specifying a ClientOptions instance, pass one or more compression algorithms to the SetCompressors() method as a string array:

opts := options.Client().SetCompressors([]string{"snappy", "zlib", "zstd"})
client, _ := mongo.Connect(opts)

Especifique os algoritmos de compressão usando as seguintes strings:

Para obter mais informações sobre os conceitos deste guia, consulte a seguinte documentação: