Comprimir tráfego de rede
Nesta página
Visão geral
O driver C++ 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 aplicação.
O driver C++ suporta os seguintes algoritmos de compressão:
Snappy: disponível no MongoDB 3.6 e posterior.
zlib: Disponível MongoDB 3 no.6 e posterior.
Zstandard: Disponível no MongoDB 4.2 e posterior.
Se você não especificar um algoritmo de compressão, o driver 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 .
Especifique algoritmos de compactação
Para habilitar a compressão para a conexão com sua instância do MongoDB , inclua a opção de conexão compressors
em seu URI e especifique os algoritmos de compressão que deseja usar. O código a seguir mostra como especificar os algoritmos snappy
, zstd
e zlib
, nessa ordem:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib"); mongocxx::client client(uri); }
Definir o nível de compressão zlib
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
:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1"); mongocxx::client client(uri); }
Documentação da API
Para saber mais sobre os tipos e opções usadas nesta página, consulte a seguinte documentação da API: