ネットワーク トラフィックを圧縮
Overview
C++ドライバーには、メッセージを圧縮する接続オプションが用意されているため、 MongoDBとアプリケーション間のネットワーク経由で渡されるデータ量を減らします。
C++ドライバーは次の圧縮アルゴリズムをサポートしています。
圧縮アルゴリズムを指定しない場合、ドライバーはネットワーク トラフィックを圧縮しません。 複数の圧縮アルゴリズムを指定した場合、ドライバーはMongoDBインスタンスでサポートされている最初のアルゴリズムをリストから選択します。
圧縮アルゴリズムを指定する
MongoDBインスタンスへの接続の圧縮を有効にするには、URI に compressors
接続オプションを含め、使用する圧縮アルゴリズムを指定します。 次のコードは、 snappy
、 zstd
、 zlib
アルゴリズムをこの順序で指定する方法を示しています。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib"); mongocxx::client client(uri); }
zlib 圧縮レベルの設定
圧縮アルゴリズムの 1 つとしてzlib
を指定する場合は、 zlibCompressionLevel
オプションを使用して圧縮レベルを指定することもできます。 このオプションは、 -1
から9
までの整数値を受け入れます。
-1: (デフォルト)。 zlib はデフォルトの圧縮レベル(通常は
6
)を使用します。0 :圧縮なし。
1 :速度は最も速く、圧縮は最小です。
9 :圧縮に最適ですが、速度は最も遅くなります。
次のコード例では、 zlib
圧縮アルゴリズムと、 zlibCompressionLevel
オプションに1
の値を指定しています。
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1"); mongocxx::client client(uri); }
API ドキュメント
このページで使用されているタイプとオプションの詳細については、次のAPIドキュメントを参照してください。