微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB/Docker 中的 zstd 块压缩

如何解决MongoDB/Docker 中的 zstd 块压缩

我使用Windows 10下搬运工-撰写像这样:

version: '3'

services:
  mongo:
    image: mongo:4.2
    ports:
      - "27017:27017"
    restart: always
    volumes:
      - type: bind
        source: ${PWD}/mongod.conf
        target: /etc/mongod.conf
    entrypoint: ["mongod","--bind_ip_all","--config","/etc/mongod.conf"]

我的 mongod.conf:

storage:
  wiredTiger:
    collectionConfig:
      blockCompressor: zstd
      configString: "allocation_size=64KB,internal_page_max=64KB,leaf_page_max=64KB"

我仍然会得到相同的磁盘大小时使用I docker exec docker_mongo_1 df具有和不具有zstd。使用 zstd:

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1       65792556  49263808  13156972  79% /data/db

没有:

Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1       65792556  47991952  14428828  77% /data/db

(轻微的变化是由于插入数据的随机性,但文档的数量和它们的大小在彼此的百分之几以内。)我使用了从 snappy 和 mongorestore 到 zstd 的 mongodump 以确保大多数文档在运行之前保持不变一些测试。

Mongo docker 镜像是否需要 zstandard 安装?还是我缺少一些 mongodb/docker 配置?还是真的对我的数据无效?如果是这样:为什么会这样,我可以使其有效吗?还是 docker 平台有问题?还是 Windows 上的 Docker?

PS 我不是一个DBA论坛上发帖的原因是,问题是多学科的。

解决方法

您通过 mongodb 测量磁盘使用情况的方法不是一个好方法。 docker 不模拟具有自己的虚拟磁盘的虚拟机,因此 df 实际上显示主机的磁盘使用统计信息(因此您的数字包括发生在 docker 之外的所有磁盘活动)。最好在 mongodb 存储其数据的目录上运行 du -sh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?