MongoDB 了解正在进行的操作
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 了解正在进行的操作的更多相关文章
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- MongoDB各种查询操作详解
这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下 一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...
- mongodb的常用操作
对于nosql之前工作中有用到bekerlydb,最近开始了解mongodb,先简单写下mongodb的一些常用操作,当是个总结: 1.mongodb使用数据库(database)和集合(collec ...
- MongoDB基本命令行操作
1. 连接MongoDB: Mongodb://username:password@hostname/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指 ...
- mongoDB之集合操作
mongoDB之集合操作 mongoDB中的集合相当于mysql中的表. mongoDB中集合的创建: 第一种方式:不限制集合大小 db.createCollection("集合名称&q ...
- MongoDB数据库简单操作
之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...
- Yii2的mongodb的聚合操作
最近项目使用到mongodb的聚合操作,但是yii文档中对这方面资料较少,记录下 $where['created_time'] = ['$gt' => "$start_date_str ...
随机推荐
- SQL——UPDATE(改)
一.UPDATE语句基本用法 UPADTE语句用于修改表中已存在的记录. UPDATE语句语法: UPDATE 表名 SET 列名1 = 值1,列名2 = 值2... WHERE 条件语句; 演示st ...
- nginx与php配置用户问题
当配置nginx的nginx.conf 时,可参照如下配置: server { listen 80; server_name www.advancephp2017.com; access_log lo ...
- go 实现简单的http web服务
package main import ( "fmt" "net/http" ) func hello(w http.ResponseWriter, r *ht ...
- WEB学习路线2019完整版(附视频教程+网盘下载地址)
WEB学习路线2019完整版(附视频教程+网盘下载地址).适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是 ...
- PPPoE中间人拦截以及校园网突破漫谈
本文首发于PPPoE中间人拦截以及校园网突破漫谈,转载请注明出处. PPPoE中间人拦截以及校园网突破漫谈 校园生活快结束了,之前还有点未完成的想法,趁着这两天有兴趣搞搞. 此文面向大众是那种在校园内 ...
- Spring Boot集成Spring Data Jpa完整实例
步骤: 添加依赖: 配置文件: 出了数据库的配置,还要配置jpa相关的: 实体类: Dao接口: 定义一个查询的方法,如果是jpa默认就有也可以不写: 测试: 如果报下面的错误,说明jdk9中缺少相关 ...
- collections.defaultdict()的使用
这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的 ...
- nginx代理(正向代理和反向代理)
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容 ...
- nexus3上传jar包
1.选择仓库位置 2.填写jar包信息 3.查看上传的jar包信息 上传成功. 4.maven的settings.xml完整配置 <?xml version="1.0" en ...
- nginx编译安装和功能介绍
nginx介绍 nginx: engine X,是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间是2004 ...