以下是在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僅重建索引。優化數據模型與索引
調整日志與緩存配置
systemLog.logRotate: reopen,并定期清理舊日志。storage:
wiredTiger:
engineConfig:
cacheSizeGB: 4 # 根據服務器內存調整
擴展存儲空間
/var/lib/mongodb)有足夠空間。操作前務必備份數據,避免誤操作導致數據丟失。