Mongodb 优化
首先说如何修改默认内存配置,在 Mongodb 命令行窗口中执行如下命令即可:
db.adminCommand({setParameter:1,internalQueryExecMaxBlockingSortBytes:335544320}
)
第一种:
第一步:开起慢查询,找出慢语句*
一般来说查询语句太慢和性能问题瓶颈有着直接的关系,所以可以用*MongoDB 的性能分
析工具来找出这些慢语句:*
db.setPro'lingLevel(1, 100);
第二步:使用 explain 分析*
通过使用*explain 来对这些慢语句进行诊断。此外还可以*mtools 来分析日志。*
第三步:创建索引*
分析完之后需要创建新的索引*(index) 来提升查询的性能。别忘了在*MondoDB 中可以在
后台创建索引以避免*collections 锁和系统崩溃。*
第四步:使用稀疏索引来减少空间占用*
如果使用*sparse documents,并重度使用关键字*$exists,可以使用*sparse indexes 来减
少空间占用提升查询的性能。*
第五步:读写分离*
如果读写都在主节点的话,从节点就一直处在空置状态,这是一种浪费。对于报表或者搜
索这种读操作来说完全可以在从节点实现,因此要做的是在*connection string 中设置成*
secondarypreferred。*
第六步:百万数据倒序查询非常慢
> db.getCollection('clist').aggregate({$limit:5},{$sort:{"群*爱群心.DisplayTime":-
1}}).pretty()
小结*
这些方法虽然能够起一定的作用,但最主要的目的还是为架构上的提升争取点时间罢了。
常用性能优化方案
1. 创建索引
2. 限定返回结果数
3. 只查询使用到的字段
4. 采用 capped collection
5. 采用 Server Side Code Execution