MongoDB Ubuntu配置性能调优指南

以下是Ubuntu上配置MongoDB性能调优的核心指南,涵盖硬件、配置、索引及监控等关键环节:

一、硬件与操作系统优化

  • 使用SSD存储:显著提升读写速度,尤其适合高并发场景。
  • 增加内存:建议分配服务器总内存的50%-80%给MongoDB缓存(WiredTiger引擎)。
  • 多核CPU:确保足够核心数以支持并行查询和写入。
  • 关闭非必要服务:如防火墙、SELinux,减少系统负载。

二、MongoDB配置调优

  • 调整存储引擎参数
    • 编辑/etc/mongod.conf,设置storage.wiredTiger.engineConfig.cacheSizeGB为物理内存的50%-75%。
    • 启用日志功能:storage.journal.enabled: true
  • 优化网络设置
    • 调整net.maxIncomingConnectionsnet.maxOutgoingConnections以适应高并发。
  • 开启操作分析
    • 启用operationProfiling监控慢查询(阈值可设为100ms)。

三、索引优化

  • 精准创建索引:为高频查询字段(如_id、查询条件字段)创建单字段或复合索引。
  • 避免过度索引:删除冗余索引,减少写操作开销。
  • 覆盖索引查询:设计索引包含查询所需字段,避免回表查询。

四、分片与复制集(大规模场景)

  • 分片集群:按数据量水平拆分,分散负载(需选择合适分片键,如高基数字段)。
  • 副本集:提升数据可用性和读写分离能力,配置replication.replSetName

五、监控与维护

  • 自带工具:使用mongostat(实时监控)和mongotop(按集合统计)。
  • 第三方工具:如Prometheus+Grafana,实现可视化监控。
  • 定期维护
    • 备份数据:mongodump/mongorestore
    • 重建索引:db.collection.reIndex(),清理碎片。

六、其他关键优化

  • 文件系统选择:推荐XFS(避免EXT4的WiredTiger兼容性问题)。
  • 内核参数调优:关闭透明大页(THP)、调整vm.swappiness
  • 版本升级:保持使用最新稳定版,获取性能优化和新特性。

注意:每次修改配置后需重启MongoDB服务,建议先在测试环境验证效果。

参考来源: