/etc/sysctl.conf,设置vm.swappiness=0避免内存交换。/etc/mongod.conf,设置storage.wiredTiger.engineConfig.cacheSizeGB为物理内存的60%-80%。journal(仅适用于非生产环境,牺牲持久性换取性能)。net.maxIncomingConnections和net.maxOutgoingConnections适应高并发。net.bindIp=192.168.1.100)。db.collection.createIndex({field:1}, {background:true})后台创建索引,避免阻塞服务。explain("executionStats")分析查询计划,避免全表扫描。projection)限制返回字段,减少数据传输。$match前置过滤,减少中间结果集。shardKey时避免单调递增字段,防止数据倾斜。mongostat和mongotop监控实时性能(如QPS、磁盘I/O)。db.collection.reIndex())。注意事项:修改配置后需重启服务生效,生产环境建议先在测试环境验证优化效果。
参考来源:[1,2,3,4,5,6,7,8,9,10,11]