MongoDB性能监控
1、mongostat
查看运行中的mongodb实例的统计信息
重要指标说明:
- getmore: 通常发生在结果集比较大的查询时,第一个query返回了部分结果,后续的结果是通过getmore来获取的。(反映查询结果的大小)
- flushs:每秒执行同步将数据写入硬盘的次数。
- mapped:映射到内存的数据大小,单位是MB。
- vsize:虚拟内存使用量,单位是MB。
- res:物理内存使用量,单位是MB。
- faults:每秒访问失败数(只有linux有),数据被交换出物理内存,放在swap。不要超过100。否则就是机器内存太小,造成频繁swap写入。此时要升级内存或者扩展。
- locked db:被锁的时间百分比,尽量控制在10%以下。
- idx miss%:索引不命中所占百分比。如果太高的话就要考虑索引是不是设计不合理。
- qr|qw:等待读写的队列长度。(mongo负载高时,命令来不及处理,mongo将命令放入队列中)
- ar|aw:执行读写操作客户端数量。
2、MMS(MongoDB Monitoring Service)
1)安装
rpm -U mongodb-mms-monitoring-agent-2.1.4.51-1.i386.rpm
2)配置
- 访问https://mms.mongodb.com/settings
- 选择monitoring agent下对应的os ,按照说明配置即可
- 完成后启动mms:service mongodb-mms-monitoring-agent start
- 然后返回页面,进入setup里按照说明进行配置
3、mongodb profile
类似mysql中的慢查询,mongodb的慢查询日志功能
常用查看profile的命令:
db.system.profile.find().sort({$natural:-1}) --查看最新的profile
db.system.profile.find({millis:{$gt:100}}).sort({$natural:-1}).limit(5) --查看执行时间大于100ms的执行操作,并倒序排序取前5行
主要指标:
- responseLength:查询返回的长度
- nscanned:在执行查询操作的时候扫描了多少对象
- nreturned:从查询中返回的结果对象
分析:
- 如果nscanned比较大,或者nscanned比nreturned大很多,说明数据库扫描了很多对象才找到目标对象,因此需要为查询条件建立索引。
- 当返回的结果集很大即responseLength值大时,会是的性能下降,在做find查询时需要添加第二个查询参数,只获取需要显示的字段。
4、explain
执行计划
5、最大连接数
- db.serverStatus().connections;
- mongodb的最大连接数 = current数值 + available数值
- 启动里面可以加参数 --maxCounts=3000
MongoDB性能监控的更多相关文章
- 分布式监控系统Zabbix3.4-针对MongoDB性能监控操作笔记
公司在IDC机房的一台服务器上部署了MongoDB,由于所存储的业务数据比较重要,所以对MongoDB的监控显得尤为重要!Zabbix监控MongoDB性能的原理:通过echo "db.se ...
- 011.MongoDB性能监控
一 MongoDB 监控 1.1 监控概述 MongoDB自带了mongostat 和 mongotop 这两个命令来监控MongoDB的运行情况.这两个命令用于处理MongoDB数据库变慢等等问题非 ...
- Mongodb性能调优
摘要 1. Mongodb 适用场景简介 2. Mongodb 性能监控与分析 3. Mongodb 性能优化建议 关于Mongodb的几个大事件 1.根据美国数据库知识大全官网发布的DB热度排行,M ...
- MongoDB 运行状态、性能监控,分析
这篇文章的目的是让你知道怎么了解你正在运行的Mongdb是否健康.转载自http://tech.lezi.com/archives/290 mongostat详解 启动mongodb监控,通过下面命令 ...
- MongoDB运行状态、性能监控,分析
转载自这位仁兄:地址 mongostat详解 mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态,并输出.如果你发现数据库突然变慢或者 ...
- mongodb可以通过profile来监控数据 (mongodb性能优化)
mongodb可以通过profile来监控数据 (mongodb性能优化) 开启 Profiling 功能 ,对慢查询进行优化: mongodb可以通过profile来监控数据,进行优化. 查看 ...
- mongodb的监控与性能优化
一.mongodb的监控 mongodb可以通过profile来监控数据,进行优化. 查看当前是否开启profile功能用命令 db.getProfilingLevel() 返回level等级,值为 ...
- MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划
这篇文章主要介绍了MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划的相关资料,需要的朋友可以参考下 一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存 ...
- MYSQL使用PMM进行性能监控
简介Percona监视和管理(PMM)是一个用于管理和监视MySQL和MongoDB性能的开源平台.它是由Percona与托管数据库服务.支持和咨询领域的专家合作开发的. PMM是一个免费的开源解决方 ...
随机推荐
- 通过扩展让ASP.NET Web API支持W3C的CORS规范(转载)
转载地址:http://www.cnblogs.com/artech/p/cors-4-asp-net-web-api-04.html CORS(Cross-Origin Resource Shari ...
- BEGIN TRAN...COMMIT TRAN 意思与用法
BEGIN TRAN标记事务开始 COMMIT TRAN 提交事务 一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN...COMMIT TRAN ...
- jq验证插件validate
博客: http://www.cnblogs.com/linjiqin/p/3433635.html http://blog.csdn.net/windxxf/article/details/7520 ...
- Android异步加载图像(含线程池,缓存方法)
研究了android从网络上异步加载图像: (1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法. 在主线程中new 一个Han ...
- Bitnami Redmine安装和插件配置
公司要进行敏捷开发管理,最后选择Redmine作为管理工具. 而Redmine本身的安装非常麻烦,要安装mysql,ruby,redmine,apach. 显然这不是一个偷懒的人应该做的,最后找到Bi ...
- HDU2243 考研路茫茫——单词情结(AC自动机+矩阵快速幂)
与POJ2778一样.这题是求长度不超过n且包含至少一个词根的单词总数. 长度不超过n的单词总数记为Sn,长度不超过n不包含词根的单词总数记为Tn. 答案就是,Sn-Tn. Sn=26+262+263 ...
- !cocos2d 重复添加action事件
当点击的时候,如果不是按照开始点击计算的,那么持续点击会导致不会变大. void Piece::setActived(bool active) { _actived = active; CCActio ...
- cocos2d 中判断CGPoint或者CGSize是否相等
cocos2d 中判断CGPoint是否相等 调用CGPointEqualToPoint(point1, point2) 判断CGSize是否相等 调用CGSizeEqualToSize(size1, ...
- TYVJ P1077 有理逼近 Label:坑,tle的好帮手 不懂
描述 对于一个素数P,我们可以用一系列有理分数(分子.分母都是不大于N的自然数)来逼近sqrt(p),例如P=2,N=5的时候:1/1<5/4<4/3<sqrt(2)<3/2& ...
- Ubuntu(Linux) 下 unzip 命令使用详解
1.功能作用:解压缩zip文件 2.位置:/usr/bin/unzip 3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist ...