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以下,基本满足多数场景
上一篇: Ubuntu14.04 安装ffmpeg
下一篇: ubuntu14.04安装afni
推荐阅读
-
linux top命令详解和使用实例及使用技巧(监控linux的系统状况)
-
linux iostat命令详解和使用实例(磁盘操作监控工具)
-
详解前端构建工具gulpjs的使用介绍及技巧
-
linux vmstat命令详解和使用实例(linux系统监控工具)
-
详解Mysql5.7自带的压力测试命令mysqlslap及使用语法
-
linux 中的ls命令参数详解及ls命令的使用实例
-
linux iostat命令详解和使用实例(磁盘操作监控工具)
-
linux top命令详解和使用实例及使用技巧(监控linux的系统状况)
-
MongoDB运行状态监控、性能分析工具mongostat详解
-
使用MongoDB的命令行工具:mongoshell