For AI agents: a documentation index is available at https://www.mongodb.com/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.
Docs Menu

Compress Network Traffic

The PHP library uses the PHP extension to compress network traffic. The following table lists the minimum PHP extension and MongoDB Server version required for each compression algorithm:

Compression Algorithm
Minimum Extension Version
Minimum Server Version

1.4.0

4.2

1.4.0

4.2

1.8.0

4.2

To enable network compression for your MongoDB connection, install the required dependencies and specify the compression algorithms that you want to use.

Because the PHP extension uses the MongoDB C driver to implement network compression, you must install the required dependencies for the C driver. To view these dependencies, see Install Dependencies in the C driver documentation.

To enable compression for the connection to your MongoDB deployment, use the compressors connection option and specify the compression algorithms you want to use. You can do this in two ways:

  • Pass the algorithms as an argument to the MongoDB\Client constructor.

  • Specify the algorithms in your connection string.

The following example shows how to specify Snappy, Zlib, and Zstandard as the compressors for a connection. Select the MongoDB\Client or Connection URI tab to see the corresponding code:

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

If you specify Zlib as one of your compression algorithms, you can also use the zlibCompressionLevel option to specify a compression level. This option accepts an integer value between -1 and 9:

  • -1: (Default). zlib uses its default compression level (usually 6).

  • 0: No compression.

  • 1: Fastest speed but lowest compression.

  • 9: Best compression but slowest speed.

The following example specifies the zlib compression algorithm and a zlibCompressionLevel value of 1. Select the MongoDB\Client or Connection URI tab to see the corresponding code:

$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);

To learn more about the MongoDB\Client class, see MongoDB\Client in the library API documentation.

To view a full list of URI options that you can pass to a MongoDB\Client, see the MongoDB\Driver\Manager::__construct parameters in the extension API documentation.