Как убедиться, что Pymongo использует сжатие Snappy для проводного протокола - PullRequest
0 голосов
/ 02 июля 2018

Я использую сервер mongodb 3.6 и pymongo 3.4.

Как я могу убедиться, что mongodb использует сжатие snappy для передачи данных?

В журнале mongodb я вижу, что snappy включен:

app_metadata=(formatVersion=1),assert=(commit_timestamp=none,read_timestamp=none),block_allocation=best,block_compressor=snappy,

Но как я могу быть уверен, что когда я делаю запрос через pymongo, что сжатие snappy действительно применяется? Я экспериментировал с добавлением mongodb: // localhost /? Compressors = zlib в строку подключения, но добавляя компрессоры = все, что, кажется, не имеет никакого значения.

Как я могу убедиться, что сжатие применено для проводного протокола? Имеет ли значение версия pymongo?

1 Ответ

0 голосов
/ 02 июля 2018

https://docs.mongodb.com/manual/reference/program/mongo/#cmdoption-mongo-networkmessagecompressors читает:

Сообщения сжимаются, когда обе стороны включают сетевое сжатие. В противном случае сообщения между сторонами распаковываются.

На стороне клиента я читаю https://api.mongodb.com/python/current/changelog.html#changes-in-version-3-7-0:

Поддержка сжатия протокола протокола

, поскольку это не было поддержано до v3.7.

block_compressor, который вы видите в журнале, скорее всего, сжатие хранилища, а не сжатие проводов. Он определен в параметрах хранилища на стороне сервера config mongodb и не может быть изменен с клиента.

...