加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB慢查询怎么理解,开启方式有什么

发布时间:2023-09-06 14:12:22 所属栏目:系统 来源:
导读:这篇文章主要介绍“MongoDB慢查询怎么理解,启动方式有什么”,有一些人在MongoDB慢查询怎么理解,启动方式有什么的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这
这篇文章主要介绍“MongoDB慢查询怎么理解,启动方式有什么”,有一些人在MongoDB慢查询怎么理解,启动方式有什么的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
 
mongodb慢查询是超过指定时间的SQL语句查询。sql语句就是对数据库进行操作的一种语言。
 
MongoDB 的 慢查询记录储存在 system.profile 里,默认情况下是关闭的,我们可以在数据库级别上或者是节点级别上配置。
 
状态码及相关描述:
 
0:表示关闭慢查询,默认情况下
 
1:表示超过阈值的查询收集
 
2:为所有数据库开启慢查询记录,收集所有的数据
 
启动方式
 
MongoDB慢查询有两种启动方式:
 
1)通过 MongoDB shell 启用
 
#  为所有数据库开启慢查询记录
 
db.setProfilingLevel(2)
 
#  指定数据库,并指定阈值慢查询 ,超过20毫秒的查询被记录
 
use testdb.setProfilingLevel(1, { slowms: 20 })
 
#  随机采集慢查询的百分比值,sampleRate 值默认为1,表示都采集,0.42 表示采集42%的内容。
 
db.setProfilingLevel(1, { sampleRate: 0.42 })
 
# 查询慢查询级别和其它信息
 
db.getProfilingStatus()
 
# 仅返回慢查询级别
 
db.getProfilingLevel()
 
# 禁用慢查询
 
db.setProfilingLevel(0)
 
2)通过配置文件启用
 
在ini 配置文件 mongodb.conf 添加以下参数, profile参数是设置开启等级,slowms是设置阈值
 
profile = 1
 
slowms = 300
 
在 YAML配置 文件配置
 
operationProfiling:  
 
mode:<string># 默认为 off,可选值 off、slowOp(对应上面的等级 1)、all(对应上面的等级 2)   
 
slowOpThresholdMs:<int># 阈值,默认值为100,单位毫秒  
 
slowOpSampleRate:<double>#  随机采集慢查询的百分比值,sampleRate 值默认为1,表示都采集,0.42 表示采集42%的内容
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章