在Ubuntu上优化MongoDB查询速度可从以下方面入手:
vm.swappiness)减少磁盘I/O。/etc/mongod.conf中设置storage.wiredTiger.engineConfig.cacheSizeGB,建议为可用内存的50%-70%。operationProfiling监控慢查询(阈值可设为100ms)。// 复合索引示例(覆盖查询需求)
db.users.createIndex({ status: 1, age: -1, name: 1 });
reIndex()重建碎片化索引,删除冗余索引。$or、$ne等低效操作。skip()和limit()分页,通过投影({ field: 1, _id: 0 })减少返回字段。$match)、排序($sort)等操作前置,利用索引加速。mongostat、mongotop或第三方工具(如PMM)实时监控性能。explain("executionStats")定位低效查询,针对性优化。mongodump备份数据,升级到最新稳定版本以获取性能改进。注意:优化前需在测试环境验证效果,避免生产环境直接调整。优先通过索引和查询重构提升性能,再考虑硬件升级。