mongodb系列~ mongodb慢语句(3)
简介: 关于mongodb慢日志是如何收集
一 mongodb慢日志的开启
1 直接设置参数,不重启服务:db.setProfilingLevel(1)
2 添加启动参数,重启服务:添加profile=1
二 mongodb慢日志参数说明
查看 profiing当前级别 :db.getProfilingLevel()
0 默认不开启记录
1 开启记录慢日志(默认>=100ms)
2 记录所有命令
三 如何调整慢日志记录参数
1 直接设置参数 db.setProfilingLevel( level , slowms )
2 启动项配置文件添加参数 slowms=
我们线上设置的是12000 也即是12S ,这样收集的sql大大减少
四 编写收集脚本,进行远程收集
1 创建相应的表
CREATE TABLE `mongo_slow_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` varchar(20) DEFAULT NULL,
`delay` varchar(10) DEFAULT NULL,
`sqltime` datetime DEFAULT NULL,
`sqltext` text,
`createtime` datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
ENGINE=InnoDB AUTO_INCREMENT=22420 DEFAULT CHARSET=utf8mb4;
2 编写相应的shell脚本
function jilu(){
IP=`/sbin/ifconfig eth0 | grep 'inet addr' | cut -d: -f2 | awk '{ print $1}'`
result=`awk '$NF~/ms$/{print $1,$NF}' $1|sed 's/ms//g'|awk '$2 > 12000 {print $1,$2}'`
if [ "$result" ];
then
echo "$result" > /home/a.txt
cat /home/a.txt |while read line ;
do echo $line ;
yanshi=`echo $line|awk '{print $2}'`
tiaojian=`echo $line|awk '{print $1}'`
jieguo=`cat $1|grep $tiaojian`
jieguo1=`echo $jieguo|sed "s/"\'"/"\""/g"`
shijian=`echo $jieguo1|sed "s/"\'"/"\""/g"|awk '{print $1}'`
shijianchuli=`echo "$shijian"|cut -d '.' -f 1|sed 's/T/ /g'`
echo -e "insert into mongo_slow_log(ip,delay,sqltime,sqltext) values('$IP','$yanshi','$shijianchuli','$jieguo1')"|/usr/local/mysql/bin/mysql -u -p -h --default-character-set=utf8 l
done
else
echo -e "insert into mongo_slow_log(ip,delay,sqltext) values('$IP','empty','empty')"|/usr/local/mysql/bin/mysql -u -p --default-character-set=utf8
}
riqi=`date -d yesterday +%F`
file=`find /data/mongo/shard1/ -name "shard1.log.$riqi*" -exec iconv -f CP850 -t utf-8 {} > /home/ops/result.txt \;`
jilu "/home/ops/result.txt"
脚本核心思想:mongo会将慢日志记录在shard文件中,当天进行脚本切割并过滤出指定sql即可,各位可自行修改(PS:本人脚本很烂,哈哈)
五 进行分析
用explain进行分析(explain的详细本文不会详细讲解,以后会有专门说明)
六 收集目的
不论是何种数据库,对慢日志语句的收集都非常重要,比如研发接口相应超时,数据库本身性能消耗很高,都可以根据慢日志进行分析。
mongodb系列~ mongodb慢语句(3)的更多相关文章
- mongodb系列~mongodb慢语句(2)
一简介:今天遇到一个慢日志的排查和解决过程 二 版本:3.0.6 三 架构:分片集群 四 具体过程 1 程序响应很慢,具体日志寻找定点sql(mongodb慢日志记录在log日志里) awk '$NF ...
- mongodb系列~ mongodb慢语句(1)
1 简介:讲讲mongo的慢日志2 慢日志类型 query insert update delete 3 查看慢日志 1 db.system.profile.find() 慢日志总揽 2 d ...
- mongodb系列~mongodb的副本集(1)
一 简介: mongodb副本集 二 复制方式: 1 全量复制 2 增量复制三 同步检测过程: 一 正常情况下: 1 master执行语句,并将所有的修改数据库的操作以日志Oplog ...
- mongodb系列~mongodb定时删除数据
一 简介:本文介绍创建自动删除数据的TTL索引 二 目的 定时删除数据三 创建方法 db.collection.createIndex(keys, options) options: ex ...
- mongodb系列~mongodb集群介绍与管理
mongodb 集群维护1 简介 谈谈mongodb的集群架构2 常用的维护命令 1 查看状态 sh.status() 1 version 2 shards: ...
- mongodb系列~mongodb数据迁移
一 简介:今天来聊聊mongo的数据迁移二 迁移 1 具体迁移命令 nohup mongodump --port --db dbname --collection tablename --qu ...
- mongodb系列之-治理mongodb->db.currentOp()
mongodb系列之-管理mongodb->db.currentOp() 管理mongodb->db.currentOp(), 绝对是原创... 今天公司的dba在内部分享了针对mysql ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- MongoDB系列二
简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql ...
随机推荐
- BZOJ5251 八省联考2018劈配(网络流)
劈配,匹配,网络流.那么考虑怎么跑网络流. 先看第一问.首先套路的建出超源超汇.不用想也知道导师向汇连容量为战队人数上限的边.特别地,给出局也建一个点,向汇连容量inf的边(似乎没有必要).对于一个新 ...
- HSQL可视化工具
本地使用HSQL数据库进行开发,多是集成在开发工具的内部,比如studio,往往看不到HSQL数据库,那么如何查看HSQL数据库呢? 可以使用hsql自带的可视化工具,运行hsqldb-*.jar 包 ...
- 洛谷P3868 [TJOI2009]猜数字(中国剩余定理,扩展欧几里德)
洛谷题目传送门 90分WA第二个点的看过来! 简要介绍一下中国剩余定理 中国剩余定理,就是用来求解这样的问题: 假定以下出现数都是自然数,对于一个线性同余方程组(其中\(\forall i,j\in[ ...
- 前端学习 -- Html&Css -- ie6 png 背景问题
在IE6中对图片格式png24支持度不高,如果使用的图片格式是png24,则会导致透明效果无法正常显示 解决方法: 1.可以使用png8来代替png24,即可解决问题,但是使用png8代替png24以 ...
- Python异步IO
在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了. 我们可以使用多线程或者多进程来并发执行代码,为多个用户服务. 但是,一旦线程数量过多,CPU的时间就花在线程切换 ...
- ffmpeg 在ubuntu上编译环境搭建和开发
步骤如下: 1. 下载 官网永远是王道,呵呵:http://ffmpeg.org/download.html 或者 svn checkout svn://svn.mplayerhq.hu/ffmpeg ...
- Java:读取系统信息
com.sun.management.OperatingSystemMXBean mxbean = (com.sun.management.OperatingSystemMXBean) Managem ...
- Deformable ConvNets
Deformable ConvNets 论文 Deformable Convolutional Networks(arXiv:1703.06211) CNN受限于空间结构,具有较差的旋转不变性,较弱的 ...
- MATLAB运行edge函数闪退
出现这种问题时,先检查代码有没有问题,换一张图片是不是也有闪退情况. 如果以上都检查过没问题,还是有闪退现象,那就检查MATLAB的版本是不是太低了,比如r2010a版本运行edge函数时,就经常出现 ...
- NOIP 普及组 2014 比例简化
传送门 https://www.cnblogs.com/violet-acmer/p/9898636.html 题解: 一开始想多了,以为得保证两者之间的相对比率,至少不能改变的太离谱啊. but,直 ...