mongoDB之监控工具mongostat
来源:互联网 发布:软件系统结构图 visio 编辑:程序博客网 时间:2024/06/05 18:28
mongoDB之监控工具mongostat
mongostat是mongdb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果你发现数据库突然变慢或者有其他问题的话,你第一手的操作就考虑采用mongostat来查看mongo的状态。
mongostat命令格式,当然也可以加参数:
在第一个例子中,mongostat将返回数据的每一秒,持续20秒。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下所有调用产生相同的行为:
mongostat -rowcount20 1
mongostat -rowcount20
mongostat -N 20 1
mongostat -N 20
在下面的例子中,mongostat返回的数据每5分钟(300秒),只要在程序运行。 mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。
mongostat - rowcount 0 300
mongostat -N 0 300
mongostat 300
在下面的例子中,mongostat返回的数据每5分钟一个小时(12次)。mongostat收集数据的mongod实例上运行的本地主机接口端口27017。以下两种调用产生相同的行为。
mongostat -rowcount12 300
mongostat -N 12 300
在许多情况下,使用 -discover将帮助整组机器的状态,提供更完整的快照。如果Mongos的过程中,连接到一个片式集群上运行在本地机器上的端口27017,你可以使用下面的形式从群集中的所有成员返回统计:
mongostat -discover
以上参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/
主要详细说明一下各列的意义(也可以参考./mongostat --help)
insert: 一秒内的插入数
query : 一秒内的查询数
update: 一秒内的更新数
delete: 一秒内的删除数
10条简单的查询可能比一条复杂的查询速度还快, 所以数值的大小,意义并不大。
但至少可以知道,现在是否在处理查询,是否在插入。
如果是slave,数值前往往有一个*, 代表是replicate操作
getmore: 查询时游标(cursor)的getmore操作
用处不大
www.2cto.com
command: 一秒内执行的命令数
比如批量插入,只认为是一条命令。 意义不大。
如果是slave,会显示两个值, local|replicated,通过这两个数值的比较,或许可以看出点问题。
flushes: 一秒内flush的次数
一般都是0,或者1,通过计算两个1之间的间隔时间,可以大致了解多长时间flush一次。
flush开销是很大的,如果频繁的flush,可能就要找找原因了。
mapped:
vsize:
res:
这个和你用top看到的一样,mapped, vsize一般不会有大的变动, res会慢慢的上升,如果res经常突然下降,去查查是否有别的程序狂吃内存。
faults:
别被这个名字吓着,大压力下这个数值往往不为0。如果经常不为0,那就该加内存了。
locked:
MongoDB就一把读写锁,这里指的是写锁所住的时间百分比。这个数值过大(经常超过10%),那就是出状况了。
idx miss:
非常重要的参数, 正常情况下,所有的查询都应该通过索引,也就是idx miss为0。如果这里数值较大,是不是缺少索引。
qr|qw: queue lengths for clients waiting (read|write)
ar|aw: active clients (read|write)
如果这两个数值很大,那么就是DB被堵住了,DB的处理速度不及请求速度。
看看是否有开销很大的慢查询。如果查询一切正常,确实是负载很大,就需要加机器了。
netIn: network traffic in - bits
netOut: network traffic out - bits
网络带宽压力,一般MongoDB,网络不会成为瓶颈
conn: number of open connections
MongoDB为每一个连接创建一个线程,线程的创建和释放也是有开销的。尽量不要让这个数值很大。
repl: 服务器当前状态
M - master
SEC - secondary
REC - recovering
UNK - unknown
SLV - slave
time: 当前时间
如果在windows下的cmd窗口中执行mongostat命令时,可能由于窗口太窄,监控数据排列较乱而阻碍视觉的情况,大家可以把结果输出到一个txt文件中,然后去查看这个文件,办法是曲折了一些哈哈。
E:\mongodb-win32-x86_64-2.2.1\bin\mongostat -n 2 > E:\test.txt
打印2行结果到E盘的跟目录下的test.txt中。
参考文档:http://cn.docs.mongodb.org/manual/reference/mongostat/ 0 0
- 【mongoDB】监控工具之mongostat
- mongoDB之监控工具mongostat
- mongodb监控工具mongostat
- MongoDB mongostat、mongotop和实时监控工具motop
- 【监控】MongoDB的监控首选: mongostat
- 【监控】MongoDB的监控首选: mongostat
- 【监控】MongoDB的监控首选: mongostat
- MongoDB管理与开发精要《红丸出品》20.2 性能监控之Mongostat
- 【mongoDB】监控工具之mongotop
- mongoDB之监控工具mongotop
- 使用mongostat监视mongodb
- MongoDB3.2工具---Mongostat
- mongodb监控工具
- mongodb监控工具介绍
- mongostat
- Mongostat
- MongoDB 监控备份工具MMS
- Mongodb监控之monogstat
- 递归算法详细分析
- LoadRunner场景参数文件部分参数说明
- 黑马程序员 【】java学习之路——代理小结
- Android AIDL使用详解
- mongoDB之监控工具mongotop
- mongoDB之监控工具mongostat
- Matlab如何真正自如的控制legend
- 开机Logo
- mongoDB之windows下安装mongo数据库服务
- The type javax.http.HttpServletRequest cannot be resolved.It is indirectly……问题之解决
- android列表分组及字母导航-重构(2)-注解
- iPhone Instruments工具使用_检测内存泄露(转)
- 好多东西都没记录,罪过啊~
- 使用Xcode和Instruments调试解决iOS内存泄露(转)