千家信息网

mongodb中怎么利用profiling慢请求监控日志

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,mongodb中怎么利用profiling慢请求监控日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。0:关闭,不收集任
千家信息网最后更新 2026年11月02日mongodb中怎么利用profiling慢请求监控日志

mongodb中怎么利用profiling慢请求监控日志,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

0:关闭,不收集任何数据。

1:收集慢查询数据,默认是100毫秒。

2:收集所有数据

查看Profiling和设置

db.getProfilingStatus()

设置日志收集级别和时间

db.setProfilingLevel(1,3000)

db.system.profiling.find().sort({$natural:-1}).limit(30)

以上要操作要是在test集合下面的话,只对该集合里的操作有效,要是需要对整个实例有效,则需要在所有的集合下设置或则在开启的时候开启参数:

关闭Profiling

db.setProfilingLevel(0)

参数含义

drug:PRIMARY> db.system.profile.find().pretty()

{

"op" : "query", #操作类型,有insert、query、update、remove、getmore、command

"ns" : "mc.user", #操作的集合

"query" : { #查询语句

"mp_id" : 5,

"is_fans" : 1,

"latestTime" : {

"$ne" : 0

},

"latestMsgId" : {

"$gt" : 0

},

"$where" : "new Date(this.latestNormalTime)>new Date(this.replyTime)"

},

"cursorid" : NumberLong("1475423943124458998"),

"ntoreturn" : 0, #返回的记录数。例如,profile命令将返回一个文档(一个结果文件),因此ntoreturn值将为1。limit(5)命令将返回五个文件,因此ntoreturn值是5。如果ntoreturn值为0,则该命令没有指定一些文件返回,因为会是这样一个简单的find()命令没有指定的限制。

"ntoskip" : 0, #skip()方法指定的跳跃数

"nscanned" : 304, #扫描数量

"keyUpdates" : 0, #索引更新的数量,改变一个索引键带有一个小的性能开销,因为数据库必须删除旧的key,并插入一个新的key到B-树索引

"numYield" : 0, #该查询为其他查询让出锁的次数

"lockStats" : { #锁信息,R:全局读锁;W:全局写锁;r:特定数据库的读锁;w:特定数据库的写锁

"timeLockedMicros" : { #锁

"r" : NumberLong(19467),

"w" : NumberLong(0)

},

"timeAcquiringMicros" : { #锁等待

"r" : NumberLong(7),

"w" : NumberLong(9)

}

},

"nreturned" : 101, #返回的数量

"responseLength" : 74659, #响应字节长度

"millis" : 19, #消耗的时间(毫秒)

"ts" : ISODate("2014-02-25T02:13:54.899Z"), #语句执行的时间

"client" : "127.0.0.1", #链接ip或则主机

"allUsers" : [ ],

"user" : "" #用户

}

scanAndOrder:

scanAndOrder是一个布尔值,是True当一个查询不能使用的文件的顺序在索引中的排序返回结果:MongoDB中必须将其接收到的文件从一个游标后的文件进行排序。

如果scanAndOrder是False,MongoDB的可使用这些文件的顺序索引返回排序的结果。即:True:文档进行排序,False:使用索引。

moved

更新操作在磁盘上移动一个或多个文件到新的位置。表明本次update是否移动了硬盘上的数据,如果新记录比原记录短,通常不会移动当前记录,如果新记录比原记录长,那么可能会移动记录到其它位置,这时候会导致相关索引的更新.磁盘操作更多,加上索引

更新,会使得这样的操作比较慢.

moved:

文件在磁盘上操作。

nupdated:

更新文档的数目

getmore是一个getmore 操作,getmore通常发生在结果集比较大的查询时,第一个query返回了部分结果,后续的结果是通过getmore来获取的。

日常使用profiling的查询操作

返回最近的10条记录

db.system.profile.find().limit(10).sort({ ts : -1 }).pretty()

#返回所有的操作,除command类型的

db.system.profile.find( { op: { $ne : 'command' } } ).pretty()

#返回特定集合

db.system.profile.find( { ns : 'mydb.test' } ).pretty()

#返回大于5毫秒慢的操作

db.system.profile.find( { millis : { $gt : 5 } } ).pretty()

#从一个特定的时间范围内返回信息

db.system.profile.find(

{

ts : {

$gt : new ISODate("2012-12-09T03:00:00Z") ,

$lt : new ISODate("2012-12-09T03:40:00Z")

}

}

).pretty()

#特定时间,限制用户,按照消耗时间排序

db.system.profile.find(

{

ts : {

$gt : new ISODate("2011-07-12T03:00:00Z") ,

$lt : new ISODate("2011-07-12T03:40:00Z")

}

},

{ user : 0 }

).sort( { millis : -1 }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

文件 索引 数据 查询 时间 结果 排序 更新 命令 移动 数据库 数量 文档 磁盘 日志 有效 位置 信息 全局 参数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 伟宏互联网科技 广东猪兼强互联网科技有限公司 互联网科技公司官网 深圳天众互联网科技公司 齐家互联网科技有限公司 互联网科技有限公司 翻译 海南科技产业互联网平台 青岛中康互联网医疗科技有限公司 温州喔噻互联网科技有限公司 阿里互联网科技公司 互联网科技公司实习生 朱啸虎曾投资哪些互联网科技企业 互联网数据科技专业 互联网科技如何创业 华中科技大学互联网的牛人 萌小萌互联网科技河南有限公司 江苏互联网智能科技产品出厂价 三亚科技创新互联网基地 互联网的黑科技实验室 互联网企业和网络科技有限公司 互联网科技小贷 重庆威客帮互联网科技 茂名市互联网科技产业园 特约风豹互联网科技为什么扣费 广州百诚互联网科技有限公司官网 九思连强互联网电子科技有限公司 宁波跨境商互联网科技有限公司 福仕德教育科技互联网 互联网科技和医药行业 如何强化互联网金融科技
0