查看mongodb的状态
1、mongotop
#mongotop -h 127.0.0.1:27017 -u test -p test123 --authenticationDatabase admin
输出说明:
- ns:包含数据库命名空间,后者结合了数据库名称和集合。
- db:包含数据库的名称。名为 . 的数据库针对全局锁定,而非特定数据库。
- total:mongod花费的时间工作在这个命名空间提供总额。
- read:提供了大量的时间,这mongod花费在执行读操作,在此命名空间。
- write:提供这个命名空间进行写操作,这mongod花了大量的时间。
2、mongostat
#mongostat -h 127.0.0.1:27017 -u test -p test123 --authenticationDatabase admin
- inserts/s 每秒插入次数
- query/s 每秒查询次数
- update/s 每秒更新次数
- delete/s 每秒删除次数
- getmore/s 每秒执行getmore次数
- command/s 每秒的命令数,比以上插入、查找、更新、删除的综合还多,还统计了别的命令
- flushs/s 每秒执行fsync将数据写入硬盘的次数。
- mapped/s 所有的被mmap的数据量,单位是MB,
- vsize 虚拟内存使用量,单位MB
- res 物理内存使用量,单位MB
- faults/s 每秒访问失败数(只有Linux有),数据被交换出物理内存,放到swap。不要超过100,否则就是机器内存太小,造成频繁swap写入。此时要升级内存或者扩展
- locked % 被锁的时间百分比,尽量控制在50%以下吧
- idx miss % 索引不命中所占百分比。如果太高的话就要考虑索引是不是少了
q t|r|w当Mongodb接收到太多的命令而数据库被锁住无法执行完成,它会将命令加入队列。这一栏显示了总共、读、写3个队列的长度,都为0的话表示mongo毫无压力。高并发时,一般队列值会升高。- conn 当前连接数
- time 时间戳
3、查看当前的option
Mongodb 的命令一般很快就完成,但是在一台繁忙的机器或者有比较慢的命令时,你可以通过db.currentOp()获取当前正在执行的操作,在没有负载的机器上,该命令基本上都是返回空的
>db.currentOp()
{ "opid" : "shard3:466404288", "active" : false, "waitingForLock" : false, "op" : "query", "ns" : "sd.usersEmails", "query" : { }, "client_s" : "10.121.13.8:34473", "desc" : "conn" },
如果发现一个操作太长,把数据库卡死的话,可以用以下命令杀死他:
>db.killOp("shard3:466404288")
4、打开profiler,类似于mysql的slow_log慢查询,默认是关闭的。
0:关闭,不收集任何数据。1:收集慢查询数据,默认是100毫秒。2:收集所有数据首先切换到需要打开慢查询的库
>use spark
>db.auth('test','test123')
>db.setProfilingLevel(2)
>db.getProfilingLevel()
可以自定义时间,单位是ms:
>db.setProfilingLevel(1,300)
查看:
>db.system.profile.find().sort({$natural:-1})
- ts:时间戳
- info:具体的操作
- millis:操作所花时间,毫秒
查看profiler的数量:
>db.system.profile.count();
查看影响的行数:
>db.system.profile.explain()
5、查看副本集同步延迟
> db.printSlaveReplicationInfo()
6、3.4版本以后默认的数据库存储引擎是wiredTiger,查看当前占用的内存
> db.runCommand({ serverStatus: 1}).wiredTiger.cache["bytes currently in the cache"]
16179710118
设置cacheSize为10G,根据自己的服务器情况指定:
>db.adminCommand({setParameter: 1, wiredTigerEngineRuntimeConfig: "cache_size=10G"})
{ "was" : "", "ok" : 1 }
上面的设置重启后就失效了,可以写进配置文件
systemLog:
destination: file
logAppend: true
path: /data/log/mongodb.log
storage:
dbPath: /data/mongodata
journal:
enabled: true
engine: wiredTiger
wiredTiger:
engineConfig:
cacheSizeGB:
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongod.pid
net:
port:
# bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces.
replication:
replSetName: rs3
oplogSizeMB:
security:
keyFile: "/data/mongodb.key"
clusterAuthMode: "keyFile"
authorization: "enabled"
查看mongodb的状态的更多相关文章
- mongostat查看mongodb运行状态使用命令介绍
mongostat是mongodb自带的一个用来查看mongodb运行状态的工具 使用说明 mongostat -h 字段说明 启用后的状况是这样的 insert query update del ...
- 使用MegaCli工具查看Raid磁盘阵列状态
转载自:http://home.51.com/chenjianghui1987/diary/item/10051836.html 文章本身我不做过多修改了,在这里我就把自己在安装时候碰到的难点跟大家提 ...
- MySql状态查看方法 MySql如何查看连接数和状态?
原文:MySql状态查看方法 MySql如何查看连接数和状态? 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接 怎么进入mysql命令行呢? mysql的安 ...
- IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)
IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows) 等 请见博客园的 我的收藏
- 【mongodb系统学习之四】查看mongodb进程
四.查看mongodb进程(可以配合启动和关闭使用): 1).方法一:直接查看mongodb进程是否已经存在(用上面的方式启动后,需要另开一个窗口操作):ps –ef|grep mongodb, 如图 ...
- 如何查看cisco 生成树状态
如何查看cisco 生成树状态 Role(角色): 1.Desg(指定端口) 2.Root(根端口) 3.Altn(替换端口) Sts(状态): 1.FWD(转发) 2.BLK( ...
- MySQL优化:使用show status查看MySQL服务器状态信息
在网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SE ...
- linux中查看http各种状态数量
转自: http://www.cnblogs.com/wayne173/p/5652043.html 我们的网站部署在linux的服务器上,特别是web服务器,我们可能有时候做为运维人员,肯定是要查看 ...
- 使用 SHOW STATUS 查看mysql 服务器状态信息
在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL ...
随机推荐
- js跳转页面方法实现汇总
一.页面之间的跳转传参 1.在页面之间跳转的方式有两种: window.location.href=”test.html?num=10” 地址会改变参数也会被传递但是不会打开新窗口 window. ...
- bootstrap 图片切换
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- 冲刺博客NO.6
今天做了什么:通过自学已经掌握对多控件的使用并学会使用进度条 遇到的困难:Handler使用错误,对其理解错误,导致很多误会后来百度发现 Handler是Android系统消息机制抽象出来的一个类(并 ...
- MySql字段类型说明
bigint 从 -^ (-) 到 ^- () 的整型数据(所有数字).存储大小为 个字节. P.S. bigint已经有长度了,在mysql建表中的length,只是用于显示的位数 int 从 -^ ...
- SpringCloud实现集群和负载均衡
Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的. 组成部分 spingcloud的五大神兽 服务发现——Netflix Eureka ...
- delphi char数组、string和Pchar的相互转换
因为要调用windows的api或者给vc++写接口,很多地方都要用到pchar,现在将char数组.string和pchar之间的相互转换都列出来,都是网上找的资料,我总结一下,先直接上代码,再讲原 ...
- python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别
python3 os.path.realpath(__file__) 和 os.path.cwd() 方法的区别 os.path.realpath 获取当前执行脚本的绝对路径. os.path.rea ...
- Android逆向进阶—— 脱壳的奥义(基ART模式下的dump)
本文作者:i春秋作家HAI_ZHU 0×00 前言 市面上的资料大多都是基于Dalvik模式的dump,所以这此准备搞一个ART模式下的dump.HAI_的使用手册(各种好东西) Dalvik模式是A ...
- [JavaScript] Nginx实现跨域设置
假如跨域请求的接口为:http://xxx.cn/was5/web/search Nginx配置: 在conf/nginx.conf文件中 location / { root html; index ...
- js中cookie,localStorage(sessionStorage)的存取
一.cookie (原生的不好用,自己简单封装) 1. 存cookie的方法: function setCookie(c_name,value,expiredays) { var exdate=new ...