AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

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

MongoDBドライバーは、 MongoDB Serverとの間で送受信されるメッセージを圧縮できます。これにより、各操作で転送されるデータ量が減ります。圧縮により、制約されたネットワークのパフォーマンスが向上し、 MongoDB Atlas の実行中に関連するデータ転送コストが削減されます。

圧縮はワイヤプロトコルレベルで動作するため、アプリケーションが実行するすべての操作に適用されます。複数のアルゴリズムを指定した場合 、ドライバーはMongoDB Serverもサポートしているリスト内の最初のアルゴリズムを使用します。

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

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.

ネットワーク圧縮には、効率的な利点も得られます。圧縮されたメッセージはネットワーク間での転送時間が短縮されるため、アプリケーションの応答時間を向上させることができます。圧縮により、 MongoDBトラフィックが使用する帯域幅も削減されるため、同じネットワーク上の他のアプリケーションで使用できる帯域幅が増えます。

圧縮アルゴリズムを選択する場合は、次のガイドラインを考慮してください。

  • 圧縮効率とリソース使用量のバランスを取るには、Zstandard を使用します。 Zstandard は、ほとんどのアプリケーションでのデフォルトの選択に適しています。

  • 最小限の計算オーバーヘッドを必要とするレイテンシの影響を受けやすいアプリケーションには、 Snappy を使用してください。

  • MongoDBドライバーと環境間での広範な互換性を実現するには、Zlib を使用してください。

Tip

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.

Lambda 統合のすべてのバージョンは各ネットワーク圧縮アルゴリズムをサポートしています。

次の表は、各アルゴリズムでサポートされる最小のMongoDB Serverバージョンを示しています。

圧縮アルゴリズム
サーバーの最小バージョン

4.2

4.2

4.2

MongoDB接続のネットワーク圧縮を有効にするには、次の手順を実行します。

  • 必要な依存関係を使用してMongoDB PHP拡張機能をビルドします。拡張機能は、Lambda 統合ではなく、ネットワーク圧縮を処理します。

  • 使用する圧縮アルゴリズムを指定します。

Lambda 統合ではMongoDB PHP拡張機能とMongoDB Cドライバー を使用してネットワーク圧縮を実装するため、必要な依存関係を持つCドライバーをインストールする必要があります。これらの依存関係を表示するには、 Cドライバーのドキュメントの「 依存関係のインストール 」を参照してください。

MongoDBインスタンスへの接続の圧縮を有効にするには、アプリケーションの config/database.php構成ファイル内の connections 配列を更新します。圧縮アルゴリズムは、次のいずれかの方法で指定できます。

  • options 配列に compressors オプションを含める

  • dsn接続文字列で compressors パラメータを使用する

Select the Options Array or Connection String tab to view an example that specifies all available compressors:

'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',
],
],

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

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

  • 0 :圧縮なし。

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

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

Options Array タブまたは Connection Stringタブを選択すると、zlibCompressionLevel オプションを 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',
],
],