大家好,又见面了,我是你们的朋友全栈君。
1,什么是慢查询:
首先满查询针对的不一定是查询,增删改查都包括,因此,可以理解为一个事务的时间只有超过我们设定的时间(比如100ms)才会打印到mongo日志中,即(master.log,slave.log)。
2,步骤:
进入到mongo命令行,使用admin用户,或local用户
#命令行下设置方式--db.setProfilingLevel(level,slowms)
> db.setProfilingLevel(1,500)
{ "was" : 0, "slowms" : 500, "ok" : 1 }
#查看设置
> db.getProfilingStatus()
{ "was" : 0, "slowms" : 500 }
不用重启,自动生效,让监控日志文件,就会看到mongo日志因该只有心跳日志信息了,偶尔会有事务时间很长的日志。
3,关闭满查询:
# 关闭
drug:PRIMARY> db.setProfilingLevel(0)
{ "was" : 1, "slowms" : 200, "ok" : 1 }
4. 修改“慢查询日志表”的大小
即,满查询的配置是存放在表中的。
#关闭Profiling
drug:PRIMARY> db.setProfilingLevel(0)
{ “was” : 0, “slowms” : 200, “ok” : 1 }
drug:PRIMARY>use local
#删除system.profile集合
drug:PRIMARY> db.system.profile.drop()
true
#创建一个新的system.profile集合
drug:PRIMARY> db.createCollection( “system.profile”, { capped: true, size:4000000 } )
{ “ok” : 1 }
#重新开启Profiling
drug:PRIMARY> db.setProfilingLevel(1)
{ “was” : 0, “slowms” : 200, “ok” : 1 }
注意:要改变Secondary的system.profile的大小,你必须停止Secondary,运行它作为一个独立的,然后再执行上述步骤。完成后,重新启动加入副本集。
本文参考:https://blog.csdn.net/zhuchunyan_aijia/article/details/80886799
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105979.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...