1.1 查看正在进行的操作

使用db.currentOp()函数:

>db.currentOp()

1、opid 这是操作的唯一标识符,可以通过它来终止操作

2、active 表示操作是否正在进行。如果为false表示操作已交出或正在等其他操作交出锁

3、secs_running 表示该操作已经执行的时间。可通过她判断哪些查询耗时过长,或者占用了过多的数据库资源

4、op 表示操作类型

5、desc 该值与日志(log)信息联系起来。日志中与此连接相关的每一天记录都会以[conn3]为前缀,因此可以

以此来筛选相关的日志信息

6、locks 描述该操作使用的锁的类型。其中"^"表示全局锁

7、waitingForLock 表示该操作是否因正在等待其他操作交出锁而处于阻塞状态

8、numYields 表示该操作交出锁(yield),而使其他操作得以运行的次数。通常进行文档搜索的操作(查询、更新和删除)可以交出锁。只有在其他操作队列等待该操作所持的锁时,它才会交出自己的锁。简单来讲,如果没有其他操作处于waitingForLock状态,则该操作不会交出锁。

9、lockstats.timeAcquiringMicros 表示该操作需要多长时间才能取得所需的锁

1.2 db.currentOp()中添加过滤条件

把查询的条件作为参数传入函数来进行过滤

>db.currentOp({"ns":"prod.users"})

对于currentOp中的任何字段都可以查询,使用普通的查询语句即可

1.3 寻找有问题的操作

1.4 终止操作执行

>db.killoP(123)

并非所有操作都能终止。一般来讲,只有交出了锁的进程才能终止,正在占用锁,或正在等待其他操作交出锁的操作则通常无法被终止。

如果向一个操作发出了"kill"信号,那么它在db.currentOp的输出中就会有一个killed字段。然而,只有从当前操作列表中消失后,他才真正的被终止。

1.5 假象

避免终止mongoDB自身进程

1.6 避免幽灵操作

MongoDB 了解正在进行的操作的更多相关文章

  1. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

  2. 【翻译】MongoDB指南/CRUD操作(一)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...

  3. MongoDB的CRUD操作

    1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...

  4. MongoDB各种查询操作详解

    这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下   一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...

  5. mongodb的常用操作

    对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...

  6. MongoDB基本命令行操作

    1. 连接MongoDB: Mongodb://username:password@hostname/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指 ...

  7. mongoDB之集合操作

    mongoDB之集合操作 mongoDB中的集合相当于mysql中的表. mongoDB中集合的创建: 第一种方式:不限制集合大小   db.createCollection("集合名称&q ...

  8. MongoDB数据库简单操作

    之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...

  9. Yii2的mongodb的聚合操作

    最近项目使用到mongodb的聚合操作,但是yii文档中对这方面资料较少,记录下 $where['created_time'] = ['$gt' => "$start_date_str ...

随机推荐

  1. python 之 前端开发(CSS三大特性、字体属性、文本属性、背景属性)

    11.38 css三大特性 11.381 继承性 1.定义:给某一个元素设置一些属性,该元素的后代也可以使用,这个我们就称之为继承性​2.注意:    1.只有以color.font-.text-.l ...

  2. Ubuntu 18.04安装arm-linux-gcc交叉编译器

    Ubuntu 18.04安装arm-linux-gcc交叉编译器

  3. 机器学习-EM算法笔记

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断,混合高斯模型 ...

  4. matplotlib笔记3

    关于matplotlib的绘制图形的基本代码,我们可以参照下面的连接 https://matplotlib.org/gallery/index.html https://matplotlib.org/ ...

  5. c语言实现串

    串  (string)是由零个或者多个字符组成的有限序列,又称字符串 一般表示为 S=“ a1 a2 a3 a4  . . . . . an”    其中S 是串名,双引号串起来的是串值,(有些书用单 ...

  6. win10 idea springboot上传镜像到远程docker服务器

    1. 开启2375端口,供外部访问docker vim /usr/lib/systemd/system/docker.service 修改ExecStart为下面一行内容 #ExecStart=/us ...

  7. CocoaPods - 发布自己的模块(公有库、私有库)

    CocoaPods发布框架到远程公有库 1.编写代码~上传远程仓库 git init git add . git commit -m '提交到本地分支' //关联远程仓库 git remote add ...

  8. 解决在web.xml中配置server服务器启动失败问题

    一.问题"Server Tomacat v8.5 Server at locallhost failed to start" 二.解决方法:删除注释@webServlet 三.分析 ...

  9. 阿里云服务器(Ubuntu16.04 64位)的使用

    购买阿里云服务器 1.打开阿里云官方网站,账号登录,选择产品中的云服务器 ECS 2.根据自身需求,选择合适的阿里云服务器系统,(1)点击一键购买,(2)选择地域,(3)根据自身需求,选择系统,这里选 ...

  10. [转]大牛们是怎么阅读 Android 系统源码的

    转自:http://www.zhihu.com/question/19759722 由于工作需要大量修改framework代码, 在AOSP(Android Open Source Project)源 ...