MongoDB killOp 案例详解

  • 时间:
  • 浏览:0
  • 来源:彩神大发快3_神彩大发快3官方

MongoDB 客户端与server是通过 BSON 来交换数据的,而在 bson 标准里,是这么 uint32 类型的,所以有 opid 最终是以 int32 传递给客户端的,shell 拿到这些opid,当这些值

MongoDB 提供 currentOp 命令,列出当前正在执行的查询操作,并提供 killOp 命令,用于中止这些 耗时比较长,影响线上业务的操作,作为这些应急手段。

opid 在 mongod 里是另一个 uint32 类型的整数,当你从 mongo shell 里看一遍 opid 为负数时,说明你的 mongod 刚刚成功执行超过21(INT32_MAX)次请求了,相当牛逼。

下图是另一个 currentOp 命令的输出项之一,用户在获取到 opid 后,调用 killOp() 并这么把这些请求干掉。