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.

Todas as versões da integração do Laravel suportam cada algoritmo de compressão de rede.

A tabela a seguir lista a versão mínima do MongoDB Server suportada para cada algoritmo:

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

4.2

4.2

4.2

Para habilitar a compactação de rede para sua conexão MongoDB , execute as seguintes etapas:

  • Construa a extensão MongoDB PHP com as dependências necessárias. A extensão lida com a compactação de rede, não com a integração com o Laravel.

  • Especifique os algoritmos de compressão que deseja usar.

Como a integração do Laravel usa a extensão MongoDB PHP e o driver MongoDB C para implementar a compactação de rede, você deve instalar o driver C com as dependências necessárias. Para exibir essas dependências, consulte Instalar dependências na documentação do driver C.

Para habilitar a compressão para a conexão com sua instância do MongoDB , atualize a array connections no arquivo de configuração config/database.php do seu aplicativo. Você pode especificar os algoritmos de compressão de uma das seguintes maneiras:

  • Inclua a opção compressors na array options

  • Use o parâmetro compressors na string de conexão dsn

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

'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/',
'driver' => 'mongodb',
'database' => 'sample_mflix',
'options' => [
'compressors' => 'snappy,zstd,zlib',
],
],
],
'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/?compressors=snappy,zstd,zlib',
'driver' => 'mongodb',
'database' => 'sample_mflix',
],
],

Se você especificar Zlib como um dos seus algoritmos de compressão, você 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, e os valores têm os seguintes efeitos:

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

  • 0: sem compressão.

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

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

Selecione a aba Options Array ou Connection String para visualizar um exemplo que define a opção zlibCompressionLevel como 1:

'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/',
'driver' => 'mongodb',
'database' => 'sample_mflix',
'options' => [
'compressors' => 'zlib',
'zlibCompressionLevel' => 1,
],
],
],
'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/?compressors=zlib&zlibCompressionLevel=1',
'driver' => 'mongodb',
'database' => 'sample_mflix',
],
],