mongodb监控工具mongostat的使用及命令详解

mongostat是mongodb自带的状态检测工具,在命令行下使用,会间隔固定时间获取mongodb的当前运行状态,并输出。

1、mongostat常用命令格式

mongostat --host 192.168.11.11:27017 --username root --password 12345678 --authenticationDatabase admin

mongostat参数说明:

--host :指定IP地址和端口,也可以只写IP,然后使用--port参数指定端口号
--username: 如果开启了认证,则需要在其后填写用户名
--password : 不用多少,肯定是密码
--authenticationDatabase:若开启了认证,则需要在此参数后填写认证库(注意是认证上述账号的数据库)

命令输出格式

2、各字段解释说明:

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以下,基本满足多数场景

您可能感兴趣的文章:

  • Java单例模式下的MongoDB数据库操作工具类
  • MongoDB开源数据库开发工具dbKoda
  • MongoDB使用自带的命令行工具进行备份和恢复的教程
  • MongoDB运行状态监控、性能分析工具mongostat详解
(0)

相关推荐

  • Java单例模式下的MongoDB数据库操作工具类

    本文实例讲述了Java单例模式下的MongoDB数据库操作工具类.分享给大家供大家参考,具体如下: 我经常对MongoDB进行一些基础操作,将这些常用操作合并到一个工具类中,方便自己开发使用. 没用Spring Data.Morphia等框架是为了减少学习.维护成本,另外自己直接JDBC方式的话可以更灵活,为自己以后的积累留一个脚印. JAVA驱动版本: <!-- MongoDB驱动 --> <dependency> <groupId>org.mongodb</g

  • MongoDB运行状态监控、性能分析工具mongostat详解

    这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康. mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态. 它的输出有以下几列: 1.inserts/s 每秒插入次数 2.query/s 每秒查询次数 3.update/s 每秒更新次数 4.delete/s 每秒删除次数 5.

  • MongoDB开源数据库开发工具dbKoda

    Southbank Software公司最近发布了 dbKoda 0.6.0 ,这是该软件的 首个发布版 .dbKoda是一款开源的 MongoDB 开发工具,采用JavaScript. React 和 Electron 开发.下图显示了dbKoda的用户图形界面,突出特点是提供了一个连接管理器(Connection Manager)和代码编辑器(Code Editor),其中代码编辑器给出了丰富的MongoDB数据操作特性. 连接管理器 连接管理器维护多个数据库连接的配置信息(Profile)

  • MongoDB使用自带的命令行工具进行备份和恢复的教程

    要备份一个数据库, mongorestore -d db /path/to/back_up 例如: mongodump -d bookstore -o /data01/db_backup/ 该命令会dump出该DB所有的collection 从备份文件夹恢复数据 mongorestore -d bookstore /data01/db_backup/bookstore 只备份或回复指定的collection 以bookstore DB 中statistics 表为例 mongodump -d b

  • mongodb监控工具mongostat的使用及命令详解

    mongostat是mongodb自带的状态检测工具,在命令行下使用,会间隔固定时间获取mongodb的当前运行状态,并输出. 1.mongostat常用命令格式: mongostat --host 192.168.11.11:27017 --username root --password 12345678 --authenticationDatabase admin mongostat参数说明: --host :指定IP地址和端口,也可以只写IP,然后使用--port参数指定端口号 --us

  • MongoDB 监控工具mongostat和mongotop的使用

    MongoDB中自带两个监控的工具,分别是mongostat和mongotop,今天我们看看这两个工具的使用方法. mongostat mongostat工具提供了mongod和mongos的运行状态和数据,可以从mongostat工具的执行结果中获取如下信息: [root@VM-0-14-centos ~]# mongostat --port=27018 -u "yeyz" --authenticationDatabase "admin" -p "123

  • python内存监控工具memory_profiler和guppy的用法详解

    python2.7在内存管理上相比python3还是有些坑的,其释放后的内存仍然保留在python的内存池中,不被系统所用.python循环引用的变量不会被回收,这会导致程序越运行,占用的内存越大.我在跑py-faster-rcnn的demo时,基本上跑2000张图像,16g内存就要爆了.于是尝试用python的内存监控工具来调试程序,找到不能膨胀的变量,然后del之,再手动回收内存gc.collec() 下面是我用的两个内存监视工具,一个是按每行代码查看内存占用的工具memory_profil

  • 基于使用paramiko执行远程linux主机命令(详解)

    paramiko是python的SSH库,可用来连接远程linux主机,然后执行linux命令或者通过SFTP传输文件. 关于使用paramiko执行远程主机命令可以找到很多参考资料了,本文在此基础上做一些封装,便于扩展与编写脚本. 下面直接给出代码: # coding: utf-8 import paramiko import re from time import sleep # 定义一个类,表示一台远端linux主机 class Linux(object): # 通过IP, 用户名,密码,

  • hbase shell基础和常用命令详解

    HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase

  • linux中 pmap 命令详解

    通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show even more details WARNING: format changes according to /proc/PID/smaps -XX show everything the kernel provides -c, --read-rc read the default rc -C, --re

  • linux 中ls命令详解

    ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件. 语法 ls(选项)(参数) 选项 -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出): -A:显示除影藏文件“.”和“..”以外的所有文件列表: -C:多列显示输出结果.这是默认选项: -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列: -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文

  • linux mkdir命令详解

    mkdir命令用来创建目录.该命令创建由dirname命名的目录.如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录:如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录.在创建目录时,应保证新建的目录与它所在目录下的文件没有重名. 注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件.最好采用前后一致的命名方式来区分文件和目录.例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面. 在一个子目录

  • Linux监控cpu以及内存使用情况之top命令(详解)

    top命令是Linux下常用的性能分析工具,比如cpu.内存的使用,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通

  • Linux 下xargs命令详解及xargs与管道的区别

    为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入.例如cat.grep就是这样的命令,举个例子: echo 'main' | cat test.cpp 这种情况下cat会输出test.cpp的内容,而不是'main'

随机推荐