centos mongodb查询速度提升
小樊
41
2025-08-16 15:17:34
一、硬件优化
- 使用SSD:提升磁盘I/O速度,降低查询延迟。
- 增加内存:扩大WiredTiger缓存,减少磁盘访问。
- 多核CPU:提升并发处理能力。
二、配置优化
- 调整WiredTiger缓存:在
/etc/mongod.conf中设置cacheSizeGB,建议为可用内存的50%-80%。
- 关闭透明大页(THP):减少内存管理开销。
- 优化日志设置:启用日志轮转,避免日志文件过大。
三、索引优化
- 创建合适索引:为高频查询字段创建单字段或复合索引,遵循ESR规则(等值→排序→范围)。
- 覆盖查询:设计索引包含查询所需字段,避免回表查询。
- 定期维护索引:使用
compact命令清理碎片,或通过db.collection.reIndex()重建索引。
四、查询优化
- 避免全表扫描:确保查询条件使用索引,通过
explain()分析执行计划。
- 限制返回字段:使用投影(
{field: 1})减少数据传输量。
- 分页查询:用
_id范围查询替代skip/limit,避免深分页性能问题。
五、架构优化
- 读写分离:配置副本集,将读操作导向从节点。
- 分片集群:对大数据集按分片键分布数据,提升并行处理能力。
六、监控与调优
- 使用监控工具:通过
mongostat、mongotop或第三方工具(如PMM)分析性能瓶颈。
- 分析慢查询:开启慢查询日志,针对性优化低效查询。