首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MongoDB性能分析之db.currentOp

MongoDB性能分析之db.currentOp

原创
作者头像
Power
发布2025-03-02 00:39:04
发布2025-03-02 00:39:04
20700
代码可运行
举报
运行总次数:0
代码可运行

1. 命令简介

db.currentOp顾名思义,就是当前正在执行的操作。信息包括insert/query/update/remove/getmore/command等等。

#查询正在执行任务命令

代码语言:javascript
代码运行次数:0
运行
复制
db.currentOp(true)

2. 命令输出字段解读

#命令输出

代码语言:javascript
代码运行次数:0
运行
复制
> db.currentOp()
{ "inprog" :  
        [  
            { 
                        "opid" : 3434473,                   # 操作的id 
                        "active" : <boolean>,               # 是否处于活动状态 
                        "secs_running" : 0,                 # 操作运行了多少秒 
                        "op" : "<operation>",               # 具体的操作行为,包括(insert/query/update/remove/getmore/command) 
                        "ns" : "<database>.<collection>",   # 操作的命名空间,如:数据库名.集合名 
                        "query" : {                         # 具体的操作语句 
                        }, 
                        "client" : "<host>:<outgoing>",     # 连接的客户端信息 
                        "desc" : "conn57683",               # 数据库连接描述 
                        "threadId" : "0x7f04a637b700",      # 线程id 
                        "connectionId" : 57683,             # 数据库连接id 
                        "locks" : {                         # 锁的相关信息 
                                "^" : "w", 
                                "^local" : "W", 
                                "^<database>" : "W" 
                        }, 
                        "waitingForLock" : false,           # 是否在等待并获取锁, 
                        "msg": "<string>" 
                        "numYields" : 0, 
                        "progress" : { 
                                "done" : <number>, 
                                "total" : <number> 
                        } 
                        "lockStats" : { 
                                "timeLockedMicros" : {        # 此操作获得以下锁后,把持的微秒时间 
                                        "R" : NumberLong(),   # 整个mongodb服务实例的全局读锁 
                                        "W" : NumberLong(),   # 整个mongodb服务实例的全局写锁 
                                        "r" : NumberLong(),   # 某个数据库实例的读锁 
                                        "w" : NumberLong()    # 某个数据库实例的写锁 
                                }, 
                                "timeAcquiringMicros" : {     # 此操作为了获得以下的锁,而耗费等待的微秒时间 
                                        "R" : NumberLong(),   # 整个mongodb服务实例的全局读锁 
                                        "W" : NumberLong(),   # 整个mongodb服务实例的全局写锁 
                                        "r" : NumberLong(),   # 某个数据库实例的读锁 
                                        "w" : NumberLong()    # 某个数据库实例的写锁 
                                } 
                        } 
                }, 
                .....         
        ]  
  }

3. 常见操作

MongoDB出现负载异常或业务请求无响应,已经影响到现网业务的情况下,可以通过该命令查询到耗时(关注指标:secs_running)很长的操作,然后将异常操作kill掉,命令如下:

代码语言:javascript
代码运行次数:0
运行
复制
db.killOp(opid)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 命令简介
  • 2. 命令输出字段解读
  • 3. 常见操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档