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}'
相关文章:
MongoDB慢查询临时开启方法讲解
1、首先连接数据库 mongosh "mongodb://localhost:27017" 2、选择目标数据库 show databases;#显示所有数据库 use lidb;#使用某数据库 3、查看当前分析级别 db.getProfilingStatus() 输出 { was: 0, slowms: 100, sampleRate: 1, ok: 1 } #was0表示关闭&…...

springboot2.x升级springboot3.x
springboot2.x升级springboot3.x 背景升级jdk版本为17以上springboot版本修改javax包更新mybatis-plus升级swagger升级springdocspringdoc配置 背景 当前项目是springboot2.5.9版本的springbootmybatis-plus项目,需要升级到springboot3.5.0项目。 升级jdk版本为17…...

Python训练打卡Day43
复习日 1.卷积神经网络的基本概念 2.kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化 进阶:并拆分成多个文件 tips:注册kaggle的注意事项 安装插件:Header Editor 然后打开扩展选项: 输入网址:ht…...

227.2018年蓝桥杯国赛 - 交换次数(中等)- 贪心
227. 交换次数(贪心) 1. 2018年蓝桥杯国赛 - 交换次数(中等) 标签:2018 暴力 国赛 1.1 题目描述 IT 产业人才需求节节攀升。业内巨头百度、阿里巴巴、腾讯(简称 BAT )在某海滩进行招聘活动。…...

STM32入门学习之系统时钟配置
1. 时钟就是单片机的心脏。单片机根据时钟频率来控制每个部件的工作,时钟是单片机的脉搏,决定了每条命令运行的速率,没有时钟单片机将停止工作。 如何理解“时钟决定了单片机每条命令运行的速率”? 首先需要去理解单片机中的时…...

【ArcGIS Pro微课1000例】0072:如何自动保存编辑内容及保存工程?
文章目录 一、自动保存编辑内容二、自动保存工程在使用ArcGIS或者ArcGIS Pro时,经常会遇到以下报错,无论点击【发送报告】,还是【不发送】,软件都会强制退出,这时如果对所操作没有保存,就会前功尽弃。 此时,自动保存工作就显得尤为重要,接下来讲解两种常见的自动保存方…...

AU音频软件|Audition 2025网盘下载与安装教程指南
说起AU,有些小伙伴可能第一印象是化学元素金(Aurum)。实际上,本文要介绍的AU,全称是Adobe Audition,是一款专业音频编辑和混音软件,广泛应用于音乐制作、广播、电影及视频声音设计等领域。 目…...

网络编程(TCP编程)
思维导图 1.基础流程 流程图中是TCP连接的基础步骤,其他操作都是在此基础上进行添加修改。 2.函数接口 2.1 创建套接字(socket) int socket(int domain, int type, int protocol); 头文件:#include <sys/types.h> …...
[论文阅读] 人工智能+软件工程 | 结对编程中的知识转移新图景
当AI成为编程搭档:结对编程中的知识转移新图景 论文信息 论文标题:From Developer Pairs to AI Copilots: A Comparative Study on Knowledge Transfer(从开发者结对到AI副驾驶:知识转移的对比研究) 作者及机构&#…...

热成像实例分割电力设备数据集(3类,838张)
在现代电力系统的运维管理中,红外热成像已经成为检测设备隐患、预防故障的重要手段。相比传统可见光图像,红外图像可揭示设备温度分布,从而更直观地反映过热、老化等问题。而在AI赋能下,通过实例分割技术对热成像中的电力设备进行…...

用电脑通过USB总线连接控制keysight示波器
通过USB总线控制示波器的优势 在上篇文章我介绍了如何通过网线远程连接keysight示波器,如果连接的距离不是很远,也可以通过USB线将示波器与电脑连接起来,实现对示波器的控制和截图。 在KEYSIGHT示波器DSOX1204A的后端,除了有网口…...

uni-app学习笔记二十四--showLoading和showModal的用法
showLoading(OBJECT) 显示 loading 提示框, 需主动调用 uni.hideLoading 才能关闭提示框。 OBJECT参数说明 参数类型必填说明平台差异说明titleString是提示的文字内容,显示在loading的下方maskBoolean否是否显示透明蒙层,防止触摸穿透,默…...
基于 React Native for HarmonyOS5 的跨平台组件库开发指南,以及组件示例
基于 React Native for HarmonyOS5 的跨平台组件库开发,需融合分层架构设计、鸿蒙原生能力桥接及性能优化技术,核心指南如下: 一、分层架构设计 采用 模块化分层结构,隔离平台差异逻辑: ├── common_har …...

【Linux】centos软件安装
目录 Linux下安装软件的办法什么是yum使用yum试着安装软件查看yum源配置额外的第三方库 Linux下安装软件的办法 做为一个操作系统,与win和mac一样,安装软件无可厚非。那Linux下安装软件有哪些办法呢?第一种是直接下载源代码本地编译安装&…...

基于Vue3.0的在线工具网站
文章目录 1、初始化项目1.1 创建项目1.2 安装vue路由1.3 安装UI库2、首页搭建2.0 页面布局2.1 页头2.2 侧边栏2.3 内容显示区域3、字符串加密解密功能实现3.1 页面构建3.2 实现加密/解密4、Json工具4.1 Json格式化4.1.1 搭建页面4.1.2 实现Json格式化4.2 Json转XML4.1.1 搭建页…...

STM32H562----------串口通信(UART)
1、串口介绍 1.1、 数据通信概念 在单片机中我们常用的通信方式有 USART、IIC、SPI、CAN、USB 等; 1、数据通信方式 根据数据通信方式可分为串行通信和并行通信两种,如下图: 串行通信基本特征是数据逐位顺序依次传输,优点:传输线少成本低,抗干扰能力强可用于远距离传…...
C++基础进阶:函数、内联函数与Lambda函数详解
引言 在C编程的旅程中,函数是构建复杂程序的基本单元。它们像乐高积木一样,允许我们将代码分解成更小、更易于管理的部分。今天,我们将深入探讨C中的三种重要函数类型:普通函数、内联函数以及Lambda函数。掌握它们,将…...
大话软工笔记—需求调研的准备
需求调研前需做好充分的准备: 1. 背景资料来源 可以通过企业官网、宣传资料、人员沟通获取客户企业信息。 2. 背景资料汇总 根据获得的信息做出一份背景分析报告,主要包含以下内容: 2.1 企业基本信息 企业发展愿景&#…...
如何计算1920*1080分辨率的YUV或RGB图像数据占用大小?
好多开发者在对接大牛直播SDK的时候,经常问到的问题是,1920*1080分辨率的YUV或RGB图像数据,到底多少字节?在音视频图像开发中,19201080(即 Full HD)是一种极其常见的分辨率。但很多开发者在处理…...

webpack其余配置
webpack搭建本地服务器 首先是要安装一个webpack-dev-server npm install webpack-dev-server -D 安装后在package.json中添加: {"name": "babel_core_demo","version": "1.0.0","main": "index.js"…...
ArkUI-X与Android桥接通信之消息通信
平台桥接用于客户端(ArkUI)和平台(Android或iOS)之间传递消息,即用于ArkUI与平台双向数据传递、ArkUI侧调用平台的方法、平台调用ArkUI侧的方法。本文主要介绍Android平台与ArkUI交互,ArkUI侧具体用法请参考…...

【CUDA 】第5章 共享内存和常量内存——5.3减少全局内存访问(2)
CUDA C编程笔记 第五章 共享内存和常量内存5.3 减少全局内存访问5.3.2 使用展开的并行规约思路reduceSmemUnroll4(共享内存)具体代码:运行结果意外发现书上全局加载事务和全局存储事务和ncu中这两个值相同 5.3.3 动态共享内存的并行规约reduc…...

Python 训练营打卡 Day 46
通道注意力 一、什么是注意力 注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景,聚焦于图片中的主体(如猫、汽车)。 transformer中的叫做自注意力机制,他是一种自己学习自…...
MySQL(56)什么是复合索引?
复合索引(Composite Index),也称为多列索引,是在数据库表的多列上创建的索引。它可以提高涉及多个列的查询性能,通过组合多个列的值来索引数据。复合索引特别适用于需要同时过滤多列的查询。 复合索引的优点 提高多列…...

Rust学习(1)
声明:学习来源于 《Rust 圣经》 变量的绑定和解构 变量绑定 let a "hello world":这个过程称之为变量绑定。绑定就是把这个对象绑定给一个变量,让这个变量成为它的主人。 变量可变性 Rust 变量默认情况下不可变,可以通过 mut …...

鸿蒙仓颉语言开发实战教程:商城应用个人中心页面
又到了高考的日子,幽蓝君在这里祝各位考生朋友冷静答题,超常发挥。 今天要分享的内容是仓颉语言商城应用的个人中心页面,先看效果图: 下面介绍下这个页面的实现过程。 我们可以先分析下整个页面的布局结构。可以看出它是纵向的布…...
vue3 eslint ts 关闭多单词命名检查
无效做法 import { globalIgnores } from eslint/config import {defineConfigWithVueTs,vueTsConfigs, } from vue/eslint-config-typescript import pluginVue from eslint-plugin-vue import skipFormatting from vue/eslint-config-prettier/skip-formatting// To allow m…...
横向对比npm和yarn
🔧 基本概况 维度npmYarn所属Node.js 官方工具(npm, Inc.)Meta(Facebook)主导开发初始发布时间2010 年2016 年(为了解决 npm 的一些痛点而诞生)默认安装Node.js 安装后自带需要手动安装最新版本…...

智能生成完整 Java 后端架构,告别手动编写 ControllerServiceDao
在 Java 后端开发的漫长征途上,开发者们常常深陷繁琐的基础代码编写泥潭。尤其是 Controller、Service、Dao 这三层代码的手动编写,堪称开发效率的 “拦路虎”。从搭建项目骨架到填充业务逻辑,每一个环节都需要开发者投入大量精力,…...

Python----目标检测(yolov5-7.0安装及训练细胞)
一、下载项目代码 yolov5代码源 GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite yolov5-7.0代码源 Release v7.0 - YOLOv5 SOTA Realtime Instance Segmentation ultralytics/yolov5 GitHub 二、创建虚拟环境 创建一个3.8…...