MongoDB killOp 案例详解

  • 时间:
  • 浏览:2
  • 来源:大发5分3DAPP下载_大发5分3DAPP官方

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

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

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

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