首页 > 学院 > 开发设计 > 正文

MongoDB3.2工具---Mongostat

2019-11-08 20:43:58
字体:
来源:转载
供稿:网友
此工具提供关于mongod和mongos的当前运行状态概览常用命令格式:mongostat --host 192.168.1.100:27017 -uroot -p123456 --authenticationDatabase admin参数说明:host:指定ip地址和端口,也可以只写IP,然后使用--port参数指定端口号-u: 如果开启了认证,则需要在其后填写用户名-p: 不用多少,肯定是密码--authenticationDatabase:若开启了认证,则需要在此参数后填写认证库(注意是认证上述账号的数据库)命令输出格式:各字段解释说明:insert/s : 官方解释是每秒插入数据库的对象数量,如果是slave,则数值前有*,则表示复制集操作query/s : 每秒的查询操作次数update/s : 每秒的更新操作次数delete/s : 每秒的删除操作次数getmore/s: 每秒查询cursor(游标)时的getmore操作数command: 每秒执行的命令数,在主从系统中会显示两个值(例如 3|0),分表代表 本地|复制 命令注: 一秒内执行的命令数比如批量插入,只认为是一条命令(所以意义应该不大)dirty: 仅仅针对WiredTiger引擎,官网解释是脏数据字节的缓存百分比used:仅仅针对WiredTiger引擎,官网解释是正在使用中的缓存百分比flushes:For WiredTiger引擎:指checkpoint的触发次数在一个轮询间隔期间For MMAPv1 引擎:每秒执行fsync将数据写入硬盘的次数注:一般都是0,间断性会是1, 通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。flush开销是很大的,如果频繁的flush,可能就要找找原因了vsize: 虚拟内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)res:  物理内存使用量,单位MB (这是 在mongostat 最后一次调用的总数据)注:这个和你用top看到的一样, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。qr: 客户端等待从MongoDB实例读数据的队列长度qw:客户端等待从MongoDB实例写入数据的队列长度ar: 执行读操作的活跃客户端数量aw: 执行写操作的活客户端数量注:如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了netIn:MongoDB实例的网络进流量netOut:MongoDB实例的网络出流量注:此两项字段表名网络带宽压力,一般情况下,不会成为瓶颈conn: 打开连接的总数,是qr,qw,ar,aw的总和注:MongoDB为每一个连接创建一个线程,线程的创建与释放也会有开销,所以尽量要适当配置连接数的启动参数,maxIncomingConnections,阿里工程师建议在5000以下,基本满足多数场景(盗用一下友东大神的PPT截图)set: 副本集的名称repl: 节点的复制状态     M     ---master     SEC     ---secondary     REC     ---recovering     UNK     ---unknown     SLV     ---slave     RTR     ---mongs PRocess("router')     ARB     ---arbiter
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表