溫馨提示×

CentOS如何優化MongoDB存儲空間

小樊
45
2025-08-08 11:55:17
欄目: 云計算

以下是在CentOS上優化MongoDB存儲空間的方法:

  1. 啟用WiredTiger存儲引擎及壓縮

    • 確保使用WiredTiger引擎(MongoDB 3.2+默認),在/etc/mongod.conf中配置:
      storage:
        engine: wiredTiger
        wiredTiger:
          engineConfig:
            compression: snappy  # 可選snappy/zlib/zstd,平衡壓縮比與性能
      
    • 重啟服務生效:sudo systemctl restart mongod。
  2. 清理無用數據與碎片

    • 刪除無效數據:db.collection.remove({條件})db.dropDatabase()。
    • 使用compact命令整理碎片并釋放空間:
      # 壓縮單個集合
      db.runCommand({compact: "集合名", compression: "zstd"})
      # 壓縮整個數據庫
      db.runCommand({compact: "數據庫名", compression: "zstd"})
      
      注意:WiredTiger下compact會釋放空間,MMAPv1僅重建索引。
  3. 優化數據模型與索引

    • 避免大文檔,拆分冗余數據。
    • 為高頻查詢字段創建索引,避免過度索引。
  4. 調整日志與緩存配置

    • 限制日志文件大?。涸?code>/etc/mongod.conf中設置systemLog.logRotate: reopen,并定期清理舊日志。
    • 調整WiredTiger緩存大?。J為物理內存的50%),避免占用過多內存:
      storage:
        wiredTiger:
          engineConfig:
            cacheSizeGB: 4  # 根據服務器內存調整
      
  5. 擴展存儲空間

    • 若磁盤不足,可擴展服務器磁盤或使用虛擬機磁盤擴容,確保MongoDB數據目錄(默認/var/lib/mongodb)有足夠空間。

操作前務必備份數據,避免誤操作導致數據丟失。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女