mongo数据库工具

mongo数据库工具

mongo提供的方法

mongostat实时检测mongod的当前运行状态

  • 命令: mongostat -h 127.0.0.1:27017 -u liebao -p liebao
  • dirty脏数据 used使用率
  • flushes异步写入的次数
  • vsize虚拟内存使用 res物理内存使用
  • qrw等待读写队列 arw激活读写操作数量
  • net_in数据库收到的网络请求 net_out数据库发送的网络请求 conn打开的连接数 time 时间

mongotop 提供实时跟踪每个集合的统计数据

  • 命令:mongotop -h 127.0.0.1:27017 -u liebao -p liebao
  • ns数据库集合的命名空间
  • total在这个命令空间所以操作花费总时间、
  • read在这个命令空间上mongod执行读操作花费的时间
  • write在这个命令空间上mongod执行读操作花费的时间
  • 当前时间

指令方法

profile设置步骤

  • (1)db.setProfilingLevel(n) 0:默认关闭 1:设置间隔时间 2:设置全部,在全部的情况下,systemprofile会比较大有一定的性能消 耗,所以需要设置慢请求:只显示>1000ms的操作,即:db.setProfilingLevel(1,1000)
  • (2)在system.profile库查找,比如说最近3条:db.system.profile.find().sort({“ts”:-1}).limit(3)
  • (3)查看keysExamined:所扫描的索引键记录数、docsExamined、nreturned:返回的文档数、responseLength:返回结果集的大小

检测数据库和字段大小

  • 检测数据库的大小、某文档的所有字段大小:python cal_db_size.py 方法和下面这个类似len(bson.BSON.encode(db.col.findOne({id:xxxx})))
  • 或者直接mongo客户端输入:Object.bsonsize(db.col.findOne({_id: x1}))

db.stats()获取当前数据库的信息

  • db名字
  • collections文档数量
  • indexSize索引大小
  • indexNum索引数量
  • dataSize数据大小
  • storageSize占用磁盘大小。

db.serverStatus() 针对全库级别的命令

  • host:名字、version:版本、pid:进程id、mem:内存信息、locks:锁信息、storage磁盘信息
  • totalIndexSize:索引总大小
  • opcounters:操作计数器(insert query update delete getmore command索引操作总数)
  • conntections:连接数(当前数、可连接数、创建数)
  • network网络具体:“bytesIn”: 3745554, “bytesOut”: 6255104等
  • wireTiger:存储引擎具体信息包括cache、conntection、cursor、log、lock、session等
  • metircs里面包括commands 显示了每条命令的使用总次数和失败次数
  • document文档数:(insert数 update数 delete数 return数)
  • indexCounters索引计数器:访问次数 miss次数 命中次数 重置次数 miss率

db.col.stats() 针对当前col集合的状态命令

  • ns:集合的命名空间、size:大小、
  • count:文档数量、avgObjSize:平均每个文档的大小、totalIndexSize:索引总大小
  • wireTiger:存储引擎具体信息包括cache、conntection、cursor、btree、session等
    (wiredTiger[“block-manager”][“file bytes available for reuse”] 能隔预估compact能回收多少空间)
  • nindexes:几个索引
  • indexSizes: {…} 索引具体内容
  • 如果只看某个文档的某个参数可以用:db.col.dataSize()数据大小 totalSize()总大小 totalIndexSize()索引总大小 storageSize()存盘大小

查看当前执行操作

  • 如果当前数据库被某指令(如查找)卡住了,需要运行db.currentOp():查看数据库当前执行什么操作,用于查看长时间运行进程。

kill操作

  • 如果当前操作太长需要丢弃的话,则db.killOp(id)杀掉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值