今天公司的dba在内部分享了针对mysql上具体的每个crud语句操作如何进行控制管理(利用的inntop工具),挺好的。这里,我也献丑下,在mongodb中如何管理具体的每个crud操作(比如某个查询语句慢,太占资源,直接可以将其kill掉,这貌似很暴力哈,不过没关系,有时候不得已而为之...不过mongodb中可不是用第三方的工具哦,而是自家实现的功能)
currentOp是个好东西,顾名思义,就是当前的操作。在mongodb中可以查看当前数据库上此刻的操作语句信息,包括insert/query/update/remove/getmore/command等多种操作。直接执行db.currentOp()一般返回一个空的数组,我们可以指定一个参数true,这样就返回用户connections与系统cmmand相关的操作。下面看个列子:
db.currentOp(true) 会返回很多信息,
{ "inprog" : [ { "opid" : 3434473,//操作的id "active" : <boolean>,//是否处于活动状态 "secs_running" : 0,//操作运行了多少秒 "op" : "<operation>",//具体的操作行为,包括(insert/query/update/remove/getmore/command) "ns" : "<database>.<collection>",//操作的命名空间,如:数据库名.集合名 "query" : {//具体的操作语句 }, "client" : "<host>:<outgoing>",//连接的客户端信息 "desc" : "conn57683",//数据库连接描述 "threadId" : "0x7f04a637b700",//线程id "connectionId" : 57683,//数据库连接id "locks" : {//锁的相关信息 "^" : "w", "^local" : "W", "^<database>" : "W" }, "waitingForLock" : false,//是否在等待并获取锁, "msg": "<string>" "numYields" : 0, "progress" : { "done" : <number>, "total" : <number> } "lockStats" : { "timeLockedMicros" : {//此操作获得以下锁后,把持的微秒时间 "R" : NumberLong(),//整个mongodb服务实例的全局读锁 "W" : NumberLong(),//整个mongodb服务实例的全局写锁 "r" : NumberLong(),//某个数据库实例的读锁 "w" : NumberLong() //某个数据库实例的写锁 }, "timeAcquiringMicros" : {//此操作为了获得以下的锁,而耗费等待的微秒时间 "R" : NumberLong(),//整个mongodb服务实例的全局读锁 "W" : NumberLong(),//整个mongodb服务实例的全局写锁 "r" : NumberLong(),//某个数据库实例的读锁 "w" : NumberLong()//某个数据库实例的写锁 } } }, ..... ] }
注:
1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)
1秒=1,000,000 微秒(μs) 1微秒=1/1,000,000秒(s)
比如可以获取当前操作中,
--已停止活动 并且操作行为为query的信息
db.currentOp(true).inprog.forEach( function(opDoc){//opDoc其实是返回的每个op操作对象 if(!opDoc.active && opDoc.op=='query') printjson(opDoc) } )
--正在进行中 并且操作行为为query的信息
db.currentOp(true).inprog.forEach( function(opDoc){//opDoc其实是返回的每个op操作对象 if(opDoc.active && opDoc.op=='query') printjson(opDoc) } )
通过以上监控如果发现某个操作比较慢,还可以对其进行kill:
db.killOp(opid) //kill当前的操作 opid为具体的操作id号,当然了,只能kill正在进行中的
相关推荐
MongoDB Community Server(mongodb-src-r5.0.4.tar.gz)源代码 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非...
赠送jar包:mongodb-driver-core-4.2.3.jar; 赠送原API文档:mongodb-driver-core-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-core-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-core-4.2.3....
MongoDB Community Server(mongodb-org-shell-5.0.4-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ...
MongoDB Community Server(mongodb-org-server-5.0.4-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。...
MongoDB Community Server(mongodb-org-server-5.0.8-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。...
赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....
percona-backup-mongodb-1.6.1-1.el7.x86_64.rpm、 percona-backup-mongodb-1.6.1-1.el8.x86_64.rpm、 percona-backup-mongodb-1.6.1-x86_64.tar.gz、 percona-backup-mongodb_1.6.1-1.bionic_amd64.deb、 percona-...
MongoDB Community Server(mongodb-org-server_5.0.4_amd64.deb)适用于适用于Debian10 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是...
赠送jar包:mongodb-driver-sync-4.2.3.jar; 赠送原API文档:mongodb-driver-sync-4.2.3-javadoc.jar; 赠送源代码:mongodb-driver-sync-4.2.3-sources.jar; 赠送Maven依赖信息文件:mongodb-driver-sync-4.2.3....
mongodb-driver-3.4.0-rc1.jar mongodb-driver-3.4.0-rc1.jar mongodb-driver-3.4.0-rc1.jar mongodb-driver-3.4.0-rc1.jar
mongodb-windows安装包: mongodb-compass-1.31.2-win32-x64.msi 打开直接安装
MongoDB Community Server(mongodb-org-mongos-5.0.4-1.el7.x86_64.rpm)适用于RedHat / CentOS 7.0 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。...
mongodb-linux-i686-latest.zip.001 linux_x86
mongodb-java-driver-4.4.0.jar
MongoDB Community Server(mongodb-org-shell-5.0.4-1.suse15.x86_64.rpm)适用于SUSE15 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是...
tar -zxvf mongodb-linux-x86_64-4.0.18.tgz 2、重名命 mv mongodb-linux-x86_64-4.0.18 mongodb 3、进入 mongodb 目录创建目录 db 和 logs cd /usr/local/mongodb mkdir db mkdir logs 4、进入到 bin 目录下,...
mongodb-driver-core-3.5.0.jar,链接驱动
Log-Dispatch-2.69.tar.gz
MongoDB window 安装包,mongodb-windows-x86_64-4.4.0-signed.msi,免除下载速度慢的烦恼!
Ubuntu 18.04 版本 MongoDB 4.2.5 安装包 mongodb-linux-aarch64-ubuntu1804-4.2.5.tgz