Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions modules/concept-docs/pages/compression.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,12 @@ The server may change compression settings for the bucket at any time, but it is

While the tiniest of documents will not be reduced in size by compressing, there is another category of slightly larger documents in whose case the time overhead of compressing and decompressing outweighs the slight advantage of marginally reduced transmission time from client to server or back.

To safeguard against the case of several thousand documents stealing CPU time to barely discernable advantage, a threshold for minimum doument size to compress is set in the SDK, with a sensible default value - that value can be seen for your chosen SDK in its API documentation (normally 32 bytes), and you can override this to disable compression:

* For Java, to disable compression from client to server, http://docs.couchbase.com/sdk-api/couchbase-core-io-1.6.0/com/couchbase/client/core/env/DefaultCoreEnvironment.Builder.html#compressionMinSize-int-[set `compressionMinSize` to max int (2147483647)^].
Alternatively, to disable compression in both directions, set the Java system property `com.couchbase.snappyEnabled` to `False`.
* For .NET, Snappy compression is not currently supported.
* For SDKs using LCB's connstr (Node.js, PHP, Python), override the default with `"compression=off"` in your connection string.
Additionally, for Python you can set the `couchbase.bucket.Bucket.compression` property to `COMPRESS_NONE`.
* For Go, can also be disabled by using `compression=off` in the connection string.
To safeguard against the case of several thousand documents stealing CPU time to barely discernable advantage, a threshold for minimum doument size to compress is set in the SDK, with a sensible default value of 32 bytes.


== Configuring Compression

You can override the default setting with `"compression=off"` in your connection string.

For furrther options, see the
https://docs.couchbase.com/sdk-api/couchbase-c-client/group__lcb-cntl-settings.html#ga51f12707d59525b826724b2858f94ff0[API reference].