mongodb性能优化

性能优化:

explain()

看一条语句的好坏,1是否用到索引,2影响行数。 

 

db.c1.find({name:"user5"}).explain()

{

        "cursor" : "BtreeCursorname_1",--使用了索引

        "isMultiKey" : false,

        "n" : 1,         --返回的行数

        "nscannedObjects" : 1,

        "nscanned" : 1,---扫描1

        "nscannedObjectsAllPlans" :1,

        "nscannedAllPlans" : 1,

        "scanAndOrder" : false,

        "indexOnly" : false,

        "nYields" : 0,

        "nChunkSkips" : 0,

        "millis" : 0,--用时

        "indexBounds" : {--使用的索引

                "name" : [

                        [

                                "user5",

                               "user5"

                        ]

                ]

        },

        "server" :"hpo-PC:27017",

        "filterSet" : false

}

 

 Profile

是一种慢查询日志功能。

默认是关闭的。

开启profiling功能

1.启动时候加 –profile=级别即可。级别(0不开启;1记录慢命令(默认>100ms);2记录所有命令);

2.db.setProfilingLevel(1);启动慢查询基本为1,默认时间100ms

启动时修改慢查询时间:

mongod--dbpath F:\DingSai\Mongodb\data --logpath=F:\DingSai\Mongodb\logs\mongodb.log--logappend--profile=1(开启慢查询级别是1) --slowms=10(慢查询时间10ms毫秒)

 

 

db.getProfilingLevel();查看当前profiling状态  

F:\DingSai\Mongodb\bin>mongod–h ;查看mongo命令的参数




索引优化方案:

1.  创建索引

2.  限定返回条数

3.  返回使用到的字段,不适用不返回。 

4.  采用capped collection  使用固定集合固定表。

5.  采用profiling慢查询,采用会影响速度但是很小,profiling使用system.profile来记录。

 

 

 

性能监控工具: 

Mongostat: 

Bin目录下执行:

mongostat -rowcount 5 1;每1秒执行一次输出,一共执行5次。

 

 mongostat -rowcount 0 5;每5秒执行一次,一直执行。 

mongostat–rowcount; 执行次数 执行间隔(秒)。 


mongostat-n 10>e:\test.txt; 输出10行到text.txt。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dingsai88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值