以下是在CentOS上优化MongoDB存储空间的方法:
启用WiredTiger存储引擎及压缩
/etc/mongod.conf中配置:storage:
engine: wiredTiger
wiredTiger:
engineConfig:
compression: snappy # 可选snappy/zlib/zstd,平衡压缩比与性能
sudo systemctl restart mongod。清理无用数据与碎片
db.collection.remove({条件}) 或 db.dropDatabase()。compact命令整理碎片并释放空间:# 压缩单个集合
db.runCommand({compact: "集合名", compression: "zstd"})
# 压缩整个数据库
db.runCommand({compact: "数据库名", compression: "zstd"})
注意:WiredTiger下compact会释放空间,MMAPv1仅重建索引。优化数据模型与索引
调整日志与缓存配置
/etc/mongod.conf中设置systemLog.logRotate: reopen,并定期清理旧日志。storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4 # 根据服务器内存调整
扩展存储空间
/var/lib/mongodb)有足够空间。操作前务必备份数据,避免误操作导致数据丢失。