Chinaunix首页 | 论坛 | 博客
  • 博客访问: 671055
  • 博文数量: 63
  • 博客积分: 1327
  • 博客等级: 中尉
  • 技术积分: 2022
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-19 18:39
文章分类

全部博文(63)

文章存档

2013年(3)

2012年(60)

分类: Mysql/postgreSQL

2012-07-31 21:31:43

进程控制

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

查看活动进程

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

db.currentOp();

> // 等同于: db.$cmd.sys.inprog.findOne()

{ inprog: [ { "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" ,

              "query" : "{ score : 1.0 }" , "inLock" : 1 }

          ]

}

字段说明:

l  Opid: 操作进程号

l  Op: 操作类型(查询,更新等)

l  Ns: 命名空间, 指操作的是哪个对象

l  Query: 如果操作类型是查询的话,这里将显示具体的查询内容

l  lockType: 锁的类型,指明是读锁还是写锁

结束进程

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

db.killOp(1234/*opid*/)

> // 等同于: db.$cmd.sys.killop.findOne({op:1234})

 

注意:

不要kill内部发起的操作,比如说replica set发起的sync操作等

 


阅读(3592) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~