MongoDB之——进程控制

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/80003193

DBA 经常要解决系统的一些查询性能问题,此时一般的操作习惯是先查看有哪些进程,然后将异常的进程杀掉,那么 MongoDB 是怎么样处理的呢?

1、查看活动进程

查看活动进程,便于了解系统正在做什么,以便做下一步判断

> db.currentOp();
> // 等同于: db.$cmd.sys.inprog.findOne()
{ inprog: [ { "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" ,
"query" : "{ score : 1.0 }" , "inLock" : 1 }
]
}

字段说明:

  • Opid: 操作进程号
  • Op: 操作类型(查询,更新等)
  • Ns: 命名空间, 指操作的是哪个对象
  • Query: 如果操作类型是查询的话,这里将显示具体的查询内容
  • lockType: 锁的类型,指明是读锁还是写锁

2、结束进程

如果某个异常是由于某个进程产生的,那么一般 DBA 都会毫不留情的杀掉这个罪魁祸首的进程,下面将是这操作

> db.killOp(1234/*opid*/)
> // 等同于: db.$cmd.sys.killop.findOne({op:1234})
注意:
不要 kill 内部发起的操作,比如说 replica set 发起的 sync 操作等


你可能感兴趣的:(Mongodb,MongoDB)