前提
- 不考虑shard(使用场景受限,运维成本比较高)
- mongo实例的库规模超过百g,单个collection 超过千万
- 未达到这个规模的集群,性能不会太差,维护的手段可以选择使用,降低维护成本
使用层面
- 生产环境应默认开启journal log
- write reference 使用 JOURNAL_SAFE(更严格的模式依次为 1主机成功;2多数成功;3 fs.sync)
- read reference 使用 secondary first 的模式
mongo参数调优
- 建立必要的索引
- 超过千万的 collection 可以考虑开启轮询模式(capped)或者定时过期(ttl index)
- 开启directoryperdb 为硬件调优提供可能性
维护层面
- 定期执行repiarDB(去除文件碎片,rebuild 索引)
- 为不同的DB目录挂载不同的物理磁盘
本文探讨了在MongoDB实例库规模超过百GB且单个集合超过千万条记录时的性能优化策略。针对生产环境,建议开启journal log,并采用更严格的写入模式。通过建立必要索引、启用轮询模式或定时过期等方式提高查询效率。同时,文章还介绍了如何通过定期执行修复操作来保持数据库健康。
1112

被折叠的 条评论
为什么被折叠?



