当前位置: 首页 > news >正文

MongoDB慢查询临时开启方法讲解

1、首先连接数据库

mongosh "mongodb://localhost:27017"

2、选择目标数据库

show databases;#显示所有数据库
use lidb;#使用某数据库

3、查看当前分析级别

db.getProfilingStatus()

输出

{ was: 0, slowms: 100, sampleRate: 1, ok: 1 }
#was=0表示关闭;was=1表示开启

4、开启慢查询日志(临时,重启失效)

#方法一
db.setProfilingLevel(1, { slowms: 100 })  // 记录超过100ms的操作
#方法二
db.setProfilingLevel(1, {slowms: 100,filter: { op: "query" }  // 只记录查询操作
})

再执行如下命令查看状态:

db.getProfilingStatus()

输出

{ was: 1, slowms: 100, sampleRate: 1, ok: 1 }

表示设置成功

5、查看慢查询记录

#查询超过100ms的慢日志
db.system.profile.find({millis: {$gt: 100}})
// 查看最近的慢查询
db.system.profile.find().sort({ ts: -1 }).limit(5).pretty()
// 分析特定慢查询
db.system.profile.find({millis: { $gt: 200 },  // 超过200ms的操作op: "query"            // 只查询操作
}).pretty()

6、不同数据库不同设置

// 设置db1
use db1
db.setProfilingLevel(1, { slowms: 50 })// 设置db2
use db2
db.setProfilingLevel(1, { slowms: 200 })

7、修改采样率不改变级别

// 保持当前级别,只修改采样率
db.setProfilingLevel(1, { sampleRate: 0.3 })

8、修改慢查询阈值(不改变级别)

db.adminCommand({ profile: 0,  // 0=保持当前级别slowms: 30   // 新阈值
})

9、全局设置(影响所有数据库)

db.adminCommand({ setParameter: 1, slowMS: 50 
})

10、生产环境推荐配置

db.setProfilingLevel(1, {slowms: 50,sampleRate: 0.8
})

11、定期清理分析数据

// 清空分析数据
db.system.profile.drop()// 重建集合
db.createCollection("system.profile", {capped: true,size: 100 * 1024 * 1024  // 100MB
})

12、永久配置

# mongod.conf 添加
operationProfiling:mode: slowOpslowOpThresholdMs: 100slowOpSampleRate: 1.0

13、直接查看日志文件

# 查看慢查询日志
tail -f /usr/local/mongodb/logs/log.txt | grep "slow query"# 过滤耗时超过100ms的操作
grep "ms" /usr/local/mongodb/logs/log.txt | awk -F 'ms' '{if ($1 > 100) print $0}'

http://www.lqws.cn/news/184969.html

相关文章:

  • IBM官网新闻爬虫代码示例
  • 前端删除评论操作(局部更新数组)
  • 管家婆财贸软件反月结存详细操作流程
  • 三台战略驱动未来平台化发展:开发、开放与业务的协同演进
  • AT2659_GNSS低噪声放大器芯片
  • Typeerror: cannot read properties of undefined (reading ‘XXX‘)
  • 【学习分享】shell基础-运算符
  • ai流式文字返回前端和php的处理办法
  • 网络编程之服务器模型与UDP编程
  • 【Linux跬步积累】—— 网络编程套接字(二)
  • k8s入门教程(集群部署、使用,镜像拉取失败网络问题排查)
  • VTK|8.2.0升级到9.4.2遇到的问题及解决方法
  • 上市公司数字化转型分析报告_本报告基于CSMAR数据库中的企业数字化转型相关数据,使用Python对A股上市公司数字化转型情况进行全面分析
  • elasticsearch基本操作笔记
  • 02 nginx 的环境搭建
  • 12.5Swing控件3Jpanel JOptionPane
  • 机器学习笔记【Week7】
  • MS8258D 高增益带宽积 FET 输入放大器/激光雷达接收跨阻放大器
  • 【Linux】文件操作
  • SpringAI 1.0.0 正式版——利用Redis存储会话(ChatMemory)
  • 数据结构与算法——二叉树高频题目(1)
  • 【原神 × 二叉树】角色天赋树、任务分支和圣遗物强化路径的算法秘密!
  • CANFD 数据记录仪在汽车售后解决偶发问题故障的应用
  • [蓝桥杯]矩阵翻硬币
  • 矩阵QR分解
  • 配置git命令缩写
  • 数据库系统学习
  • 一些免费的大A数据接口库
  • 提升模型泛化能力:PyTorch的L1、L2、ElasticNet正则化技术深度解析与代码实现
  • Windows系统中如何使用符号链接将.vscode等配置文件夹迁移到D盘(附 CMD PowerShell 双版本命令)