以下是MongoDB在CentOS上的优化方法:
deadline(适合SSD):echo deadline > /sys/block/sdX/queue/scheduler。/etc/rc.local添加echo never > /sys/kernel/mm/transparent_hugepage/enabled。storage:
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB: 8 # 根据服务器内存调整
```。
net.maxIncomingConnections(如5000),启用tcpNoDelay。db.collection.createIndex({ field: 1 })。db.collection.createIndex({ field1: 1, field2: -1 })。db.collection.reIndex()重建索引,删除冗余索引。{ field: 1 })减少数据传输,避免全表扫描。limit()和skip()分页,批量插入/更新减少网络开销。sh.enableSharding()和sh.shardCollection()配置分片集合。mongostat、mongotop或第三方工具(如PMM)监控性能。operationProfiling,通过db.currentOp()定位慢查询。mongodump备份数据,配置日志切割避免占满磁盘。noatime,nodiratime,allocsize=512m减少元数据操作。注意:优化前需在测试环境验证,根据实际负载调整参数,避免过度配置。
参考来源:[1,2,3,4,5,6,7,8,9,10]