阅读量:1
以下是在CentOS上优化MongoDB存储空间的方法:
-
启用WiredTiger存储引擎及压缩
- 确保使用WiredTiger引擎(MongoDB 3.2+默认),在
/etc/mongod.conf中配置:storage: engine: wiredTiger wiredTiger: engineConfig: compression: snappy # 可选snappy/zlib/zstd,平衡压缩比与性能 - 重启服务生效:
sudo systemctl restart mongod。
- 确保使用WiredTiger引擎(MongoDB 3.2+默认),在
-
清理无用数据与碎片
- 删除无效数据:
db.collection.remove({条件})或db.dropDatabase()。 - 使用
compact命令整理碎片并释放空间:注意:WiredTiger下# 压缩单个集合 db.runCommand({compact: "集合名", compression: "zstd"}) # 压缩整个数据库 db.runCommand({compact: "数据库名", compression: "zstd"})compact会释放空间,MMAPv1仅重建索引。
- 删除无效数据:
-
优化数据模型与索引
- 避免大文档,拆分冗余数据。
- 为高频查询字段创建索引,避免过度索引。
-
调整日志与缓存配置
- 限制日志文件大小:在
/etc/mongod.conf中设置systemLog.logRotate: reopen,并定期清理旧日志。 - 调整WiredTiger缓存大小(默认为物理内存的50%),避免占用过多内存:
storage: wiredTiger: engineConfig: cacheSizeGB: 4 # 根据服务器内存调整
- 限制日志文件大小:在
-
扩展存储空间
- 若磁盘不足,可扩展服务器磁盘或使用虚拟机磁盘扩容,确保MongoDB数据目录(默认
/var/lib/mongodb)有足够空间。
- 若磁盘不足,可扩展服务器磁盘或使用虚拟机磁盘扩容,确保MongoDB数据目录(默认
操作前务必备份数据,避免误操作导致数据丢失。
以上就是关于“CentOS如何优化MongoDB存储空间”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm