Docs Menu
Docs Home
/ / /
C++ ドライバー
/

ネットワーク トラフィックを圧縮

項目一覧

  • Overview
  • 圧縮アルゴリズムを指定する
  • zlib 圧縮レベルの設定
  • API ドキュメント

C++ドライバーには、メッセージを圧縮する接続オプションが用意されているため、 MongoDBとアプリケーション間のネットワーク経由で渡されるデータ量を減らします。

C++ドライバーは次の圧縮アルゴリズムをサポートしています。

  1. Snappy : MongoDB3 6で利用可能です。 以降

  2. zlib:.MongoDB3 6以降で利用可能。

  3. Zstandard : MongoDB4 2で利用可能です。 以降。

圧縮アルゴリズムを指定しない場合、ドライバーはネットワーク トラフィックを圧縮しません。 複数の圧縮アルゴリズムを指定した場合、ドライバーはMongoDBインスタンスでサポートされている最初のアルゴリズムをリストから選択します。

MongoDBインスタンスへの接続の圧縮を有効にするには、URI に compressors接続オプションを含め、使用する圧縮アルゴリズムを指定します。 次のコードは、 snappyzstdzlibアルゴリズムをこの順序で指定する方法を示しています。

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib");
mongocxx::client client(uri);
}

圧縮アルゴリズムの 1 つとしてzlibを指定する場合は、 zlibCompressionLevelオプションを使用して圧縮レベルを指定することもできます。 このオプションは、 -1から9までの整数値を受け入れます。

  • -1: (デフォルト)。 zlib はデフォルトの圧縮レベル(通常は6 )を使用します。

  • 0 :圧縮なし。

  • 1 :速度は最も速く、圧縮は最小です。

  • 9 :圧縮に最適ですが、速度は最も遅くなります。

次のコード例では、 zlib圧縮アルゴリズムと、 zlibCompressionLevelオプションに1の値を指定しています。

#include <mongocxx/instance.hpp>
#include <mongocxx/uri.hpp>
#include <mongocxx/client.hpp>
int main()
{
mongocxx::instance instance;
mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1");
mongocxx::client client(uri);
}

このページで使用されているタイプとオプションの詳細については、次のAPIドキュメントを参照してください。

  • mongocx::インスタンス

  • mongocx::クライアント

  • mongocx::uri

  • 圧縮オプション

戻る

TLS の構成