Docs Menu
Docs Home
/ /

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

このガイドでは、 MongoDB への接続のネットワーク圧縮を構成する方法を学習できます。

ネットワーク圧縮は、アプリケーションと MongoDB 間で送信されるメッセージを圧縮および解凍して、ネットワークを介して渡されるデータの総量を減らす機能です。

PHPライブラリは次のコンプレッサーをサポートしています。

  1. Snappy

  2. Zlib

  3. Zstandard

注意

コンプレッサーの選択

接続で使用するコンプレッサーを複数指定した場合、ドライバーはPHPライブラリが接続されているMongoDBデプロイでサポートされている最初のコンプレッサーを選択します。

MongoDBデプロイへの接続の圧縮を有効にするには、compressors 接続オプションを使用し、使用する圧縮アルゴリズムを指定します。これは、次の 2 つの方法で行うことができます。

  • アルゴリズムを引数としてMongoDB\Clientコンストラクターに渡します。

  • 接続stringでアルゴリズムを指定します。

次の例は、接続のコンプレッサーとして Snappy、zlib、Zstandard を指定する方法を示しています。 対応するコードを表示するには、MongoDB\Client タブまたは Connection URIタブを選択します。

$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
['compressors' => 'snappy,zstd,zlib'],
);
$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib';
$client = new MongoDB\Client($uri);

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

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

  • 0 :圧縮なし。

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

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

次の例では、zlib 圧縮アルゴリズムと zlibCompressionLevel の値を 1 に指定しています。対応するコードを表示するには、MongoDB\Client タブまたは Connection URIタブを選択します。

$uriOptions = [
'compressors' => 'zlib',
'zlibCompressionLevel' => 1,
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<hostname>:<port>/?compressors=zlib&zlibCompressionLevel=1';
$client = new MongoDB\Client($uri);

MongoDB\Clientクラスの詳細については、ライブラリAPIドキュメントの MongoDB\Client を参照してください。

MongoDB\Client に渡すことができる URI オプションの完全なリストを表示するには、拡張APIドキュメントのMongoDB\Driver\Manager::__construct パラメーターを参照してください。

戻る

Stable API

項目一覧