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是一个免费的开源解决方 ...
随机推荐
- poj 1159 dp回文串
题意:添加最少的字符使之成为回文串 #include<cstdio> #include<iostream> #include<algorithm> #include ...
- [转载]GMM的EM算法实现
在聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut一文中我们给出了GMM算法的基本模型与似然函数,在EM算法原理中对EM算法的实现与收敛性证明 ...
- subList和asList
subList subList返回仅仅只是一个视图.直接上源码 public List<E> subList(int fromIndex, int toIndex) { subListRa ...
- node相关--socket.io
使用Socket.IO可以避免webSocket产生的问题: 传输: Socket.IO中消息的传递是基于传输的,而非全部依靠WebSocket; 它总会尝试选择对用户来说速度最快.对服务器性能来说最 ...
- RectAnimation用于在DrawingVisual画进度条
使用Visual来画图,可以使用其派生类,UIElement.Viewport3DVisual用于呈现3D内容,其他可以用来画图的为DrawingVisual,使用DrawingVisual可以使用编 ...
- 解决ibus图标为红圈(图标丢失)
修正IBUS图标丢失gconftool –type boolean -s /desktop/ibus/panel/show_icon_on_systray truegconftool –type bo ...
- NOIP200003方格取数
NOIP200003方格取数 难度级别: D: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 XYZ 是首师大附中信息技术团编 ...
- shell条件与循环
一.if语句 if [expression] then elif[expression] then else fi 注 : expression前后要有空格:判断相等用 = 而不是 == : then ...
- java 实现数据结构之队列
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,只允许在表的后端(rear)进行插入操作. 1.队列的顺序存储结构及实现 public class SequenceQueue&l ...
- JAVA中使用FTPClient实现文件上传下载
在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件 ...