(1)查看MongoDB的连接信息
db.serverStatus().connections
结果如下:
{ "current" : 233,"available" : 50967191495) }
各个关键词的含义:
current:当前连接数
available:可用连接数
TotalCreated:累计创建线程数
(2)使用db.currentOP()方法查看进程信息
(2.1)使用db.currentOP()查看活跃进程操作
db.currentOP()
结果如下:
{
"inprog" : [
{
"opid" : 555344731,"active" : true,"secs_running" : 4,"microsecs_running" : NumberLong(4245011),"op" : "getmore","ns" : "local.oplog.$main","query" : {
"ts" : {
"$gte" : Timestamp(1587629847,1)
}
},"client" : "10.1.70.58:39730","desc" : "conn138331","threadId" : "0x7e9b25584700","connectionId" : 138331,"waitingForLock" : false,"numYields" : 0,"lockStats" : {
"timeLockedMicros" : {
"r" : NumberLong(364),"w" : NumberLong(0)
},"timeAcquiringMicros" : {
"r" : NumberLong(16),"w" : NumberLong(0)
}
}
}
]
}
各个关键词的含义:
opid:进程号
active:是否活跃状态
secs_running:操作运行秒数
microsecs_running:操作运行微秒数
op:操作类型,包括(insert/update/query/remove/getmore/command)
ns:命名空间
query:查询语句
client:连接的客户端信息
desc:描述信息
threadId:线程id
connectionId:连接id
waitingForLock:是否等待获取锁
lockStats.timeLockedMicros.r:持有读锁的时间(微秒)
lockStats.timeLockedMicros.w:持有写锁的时间(微秒)
lockStats.timeAcquiringMicros.r:请求读锁的时间(微秒)
lockStats.timeAcquiringMicros.2:请求写锁的时间(微秒)
(2.2)使用db.currentOP(<operations>)查看所有进程
可以使用 db.currentOP(<operations>) 查看所有进程,operations取值如下:
参数 | 类型 | 描述 |
operations | boolean or document |
-- 定义为true,结果包含空闲的连接和系统后台进程 -- 定义为document with query conditions ,结果返回符合条件的操作 |
(2.2.1)定义为布尔值true,返回全部连接
// 定义为true,返回全部连接,包含active、idle、system db.currentOP({"$all":true}) 或 db.currentOp(true)
(2.2.2)定义为文档,返回符合条件的连接
例子1:查看等待获取锁的会话
db.currentOP({waitingForLock" : true})
例子2:查看db1数据库执行时间超过3秒的活动进程
db.currentOP( { activesecs_running":{$gt":3},1)">ns":/^db1\./ } )
(3)MongoDB杀死正在执行的进程
db.killOp(opid);
【完】