mongodb之慢查询-创新互联
mongodb中慢查询日志
1.开启查询日志.
(1)动态开启,可以选择性的对指定DB开启慢查询日志,但服务器重启后慢查询日志又要人工手动开启。
db.setProfilingLevel(1,300)
setProfilingLevel有两个参数,第一参数表示慢查询日志开关(可使用的值为0,1,2
0:表示关闭慢查询日志,1:表示开启慢查询日志,2:表示记录所有数据库中的查询),
第二个参数为慢查询阀值,单位是毫秒,默认情况下阀值为100ms。
(2).配置文件中开启,永久生效。对所有的数据DB生效
在mongo的配置文件中加上一下两个参数即可永久开启慢查询。
profile:表示慢查询日志开关.
slowms:慢查询日志阀值。
和setProfilingLevel中的两个参数对应。
2.查看服务器慢查询日志状态
db.getProfilingStatus()
rs0:SECONDARY> db.getProfilingStatus();
{ "was" : 1, "slowms" : 100 }
db.getProfilingLevel()
rs0:SECONDARY> db.getProfilingLevel()
1
3.查看满查询日志。
一般情况下,当开启慢查询日志后会在每个db下面生成一个集合(system.profile).
这个集合里面记录了所有当前数据库查询时间超过阀值的查询记录。
rs0:PRIMARY> db.system.profile.find({ns:/^gow/}).limit(1)
{"op" : "update",
"ns" : "gow.broadcasts",
"query" : { "_id" : ObjectId("54b73af6bab3047b5593c456") },
"updateobj" : { "_id" : ObjectId("54b73af6bab3047b5593c456"), "content" : "各新石"},
"nscanned" : 0,
"nscannedObjects" : 0,
"nMatched" : 1,
"nModified" : 0,
"upsert" : true,
"keyUpdates" : 0,
"numYield" : 0,
"lockStats" : { "timeLockedMicros" : { "r" : NumberLong(0) , "w" : NumberLong(10) } },
"millis" : 157,
"execStats" : { },
"ts" : ISODate("2015-01-26T19:05:00.118Z"),
"client" : "10.136.3.117",
"allUsers" : [ { "user" : "root", "db" : "admin" } ], "user" : "root@admin" }
键值解释:
op:操作类型。
ns:执行操作的对象集合
millis:操作所花时间,毫秒
client:执行操作的客服端。
allUsers:执行操作的mongodb账号
ts:时间戳(操作的发生时间)
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站栏目:mongodb之慢查询-创新互联
链接分享:http://hbruida.cn/article/dedgeg.html