- 浏览: 4249883 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
masuweng:
...
kaptcha验证码组件使用简介 -
caobingyi:
你好,问下html是怎么调用loginCheck方法的?
kaptcha验证码组件使用简介 -
hayoouch:
XieFuQ 写道既然都考虑到乐观锁了,是否可以直接换表存储引 ...
mysql乐观锁总结和实践 -
murdonson:
辛苦了
mysql悲观锁总结和实践 -
iamnotstar:
写得不错,感谢分享
memcached-session-manager配置
1.mongosniff工具
首先了解一下sniffer的概念,百度百科解释:Sniffer,中文可以翻译为嗅探器,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。
sniffer既可以被犯罪分子利用进行违法活动,也可以被网络管理员利用来进行网络系统的维护和故障排除。目前,它已经被广泛应用于网络故障诊断、协议分析、应用性能分析和网络安全保障等各个领域。
Mongodb提供了一个sniffer工具:mongosniff,这个工具可以从底层监控有哪些命令传送给了Mongodb,启动该工具的语法如下面所示:
./mongosniff --source NET lo
注:lo代表Loopback,指IP数据包回送到本机上。通常使用的是127.0.0.1作为回送地址。
示例:
1)在服务端启动mongosniff
[root@localhost mongodb]# ./bin/mongosniff --source NET lo sniffing... 27017
2)在客户端执行操作
> show dbs admin 0.0625GB local (empty) results 0.0625GB test 0.0625GB >
3)服务端输出了如下的消息
127.0.0.1:51869 -->> 127.0.0.1:27017 admin.$cmd 67 bytes id:4c 76 query: { listDatabases: 1.0 } ntoreturn: -1 ntoskip: 0 127.0.0.1:27017 <<-- 127.0.0.1:51869 297 bytes id:a1 161 - 76 reply n:1 cursorId: 0 { databases: [ { name: "test", sizeOnDisk: 67108864.0, empty: false }, { name: "admin", sizeOnDisk: 67108864.0, empty: false }, { name: "results", sizeOnDisk: 67108864.0, empty: false }, { name: "local", sizeOnDisk: 1.0, empty: true } ], totalSize: 201326592.0, ok: 1.0 } 127.0.0.1:51869 -->> 127.0.0.1:27017 admin.$cmd 80 bytes id:4d 77 query: { replSetGetStatus: 1, forShell: 1 } ntoreturn: 1 ntoskip: 0 127.0.0.1:27017 <<-- 127.0.0.1:51869 92 bytes id:a2 162 - 77 reply n:1 cursorId: 0 { errmsg: "not running with --replSet", ok: 0.0 }
相当于是数据库把系统执行命令的日志都记录了下来,如果我们对这些日志通过文件保存下来,就可以保存数据操作的历史记录,为数据库的性能分析提供原始材料。
2.mongostat
mongostat是Mongodb的一个监控工具,每秒更新一次,通过监控信息可以快速地对数据库进行性能分析。通过mongostat工具可以快速查看运行中的Mongodb实例的统计信息,用法如下:
[root@localhost mongodb]# ./bin/mongostat connected to: 127.0.0.1 insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time 0 0 0 0 0 1 0 96m 191m 61m 0 0 0 0|0 0|0 62b 1k 2 00:16:30 0 0 0 0 0 1 1 96m 191m 61m 0 0 0 0|0 0|0 62b 1k 2 00:16:31 0 0 0 0 0 1 0 96m 191m 61m 0 0 0 0|0 0|0 62b 1k 2 00:16:32
由上可以看出,执行mongostat命令后,输出了系统内部的运行状态,mongostat具体返回的字段如下:
Fields inserts - # of inserts per second (* means replicated op) query - # of queries per second update - # of updates per second delete - # of deletes per second getmore - # of get mores (cursor batch) per second command - # of commands per second, on a slave its local|replicated flushes - # of fsync flushes per second mapped - amount of data mmaped (total data size) megabytes vsize - virtual size of process in megabytes res - resident size of process in megabytes faults - # of pages faults per sec (linux only) locked - percent of time in global write lock idx miss - percent of btree page misses (sampled) qr|qw - queue lengths for clients waiting (read|write) ar|aw - active clients (read|write) netIn - network traffic in - bits netOut - network traffic out - bits conn - number of open connections set - replica set name repl - replication type M - master SEC - secondary REC - recovering UNK - unknown SLV - slave
3.db.serverStatus命令
我们可以在客户端执行db.serverStatus命令来查看服务器运行状态,用法如下:
> db.serverStatus() { "host" : "localhost.localdomain", "version" : "2.0.6", #服务器版本 "process" : "mongod", "uptime" : 3937, #启动时间 "uptimeEstimate" : 3232, "localTime" : ISODate("2012-08-21T16:21:07.562Z"), "globalLock" : { "totalTime" : 3937151885, "lockTime" : 354898, "ratio" : 0.00009014079475879808, "currentQueue" : { "total" : 0, #当前全部队列量 "readers" : 0, #读请求队列量 "writers" : 0 #写请求队列量 }, "activeClients" : { "total" : 0, #当前客户端连接量 "readers" : 0, #客户端读请求量 "writers" : 0 #客户端写请求量 } }, "mem" : { "bits" : 32, #32位系统 "resident" : 61, #占用物理内存量 "virtual" : 191, #占用虚拟内存量 "supported" : true, #是否支持扩展内存 "mapped" : 96 }, "connections" : { "current" : 1, #当前活动连接数 "available" : 818 #剩余空闲连接数 }, "extra_info" : { "note" : "fields vary by platform", "heap_usage_bytes" : 986232, "page_faults" : 1 }, "indexCounters" : { "btree" : { "accesses" : 0, #索引被访问量 "hits" : 0, #索引命中量 "misses" : 0, #索引偏差量 "resets" : 0, "missRatio" : 0 #索引偏差率 } }, "backgroundFlushing" : { "flushes" : 65, "total_ms" : 6, "average_ms" : 0.09230769230769231, "last_ms" : 0, "last_finished" : ISODate("2012-08-21T16:20:30.560Z") }, "cursors" : { "totalOpen" : 0, "clientCursors_size" : 0, "timedOut" : 0 }, "network" : { "bytesIn" : 12264, #发给服务器的数据量(byte) "bytesOut" : 171619, #此服务器发出的数据量(byte) "numRequests" : 193 #发给此服务器的请求量 }, "opcounters" : { "insert" : 1, #插入操作的量 "query" : 44, #查询操作的量 "update" : 0, #更新操作的量 "delete" : 0, #删除操作的量 "getmore" : 0, "command" : 152 #其它操作的量 }, "asserts" : { "regular" : 0, "warning" : 0, "msg" : 0, "user" : 0, "rollovers" : 0 }, "writeBacksQueued" : false, "ok" : 1 } >
db.serverStatus与mongostat命令类似,db.serverStatus提示的信息更加具体、全面,不过db.serverStatus命令查看到的数据是静态的,不是实时的。
更多关于服务器状态监控信息,参见官方文档:http://cn.docs.mongodb.org/master/reference/server-status-index/
4.db.stats命令
与db.serverStatus命令查看服务器实例信息不同,db.stats命令是用来查看特定数据库的详细运行状态,分析粒度更细。具体使用方法如下(目前连接的是test库):
> db.stats() { "db" : "test", #查看的数据库名称 "collections" : 19, #数据库中的集合数 "objects" : 119, #对象的数量 "avgObjSize" : 612.4033613445379, #对象平均大小 "dataSize" : 72876, #数据大小 "storageSize" : 1196032, #占用存储空间大小 "numExtents" : 21, #数据库所有集合中的片区计数 "indexes" : 21, #索引数量 "indexSize" : 171696, #索引大小 "fileSize" : 50331648, #文件大小 "nsSizeMB" : 16, #数据库命名空间文件的总大小 "ok" : 1 } >
更多关于数据库统计信息,参加官方文档:http://cn.docs.mongodb.org/master/reference/database-statistics/
发表评论
-
Mongodb Sharding Cluster搭建
2012-08-23 01:46 0Sharding架构介绍 Sharding是一种将海量数据 ... -
Mongodb高级管理命令
2012-08-21 01:24 37861.克隆collection 命令格式: >d ... -
Mongodb数据导出工具mongoexport和导入工具mongoimport介绍
2012-08-21 00:35 186806一、导出工具mongoexport Mongodb中的mon ... -
Mongodb MapReduce编程模型
2012-08-20 00:55 10876Mongodb官网对MapReduce介绍: Map/red ... -
Mongodb数据更新命令、操作符
2012-08-19 23:05 95793一、Mongodb数据更新命令 Mongodb更新有两个命令 ... -
Mongodb存储过程
2012-08-19 20:36 19407Mongodb支持存储过程的使用,存储过程可以接收和输出参数, ... -
Mongodb联合查询
2012-08-19 19:33 112503在关系型数据库中,通过连接运算符可以实现多个表联合查询。而非关 ... -
Mongodb后台daemon方式启动
2012-08-17 01:03 41527Mongodb可以通过命令行方式和配置文件的方式来启动,具体命 ... -
Mongodb主从复制
2012-08-15 01:04 3178主从复制是Mongodb最常用的复制方式。这种方式非常灵活,可 ... -
通过mongodump和mongorestore实现Mongodb备份和恢复
2012-08-14 01:19 83466Mongodb自带了mongodump和mongorestor ... -
Mongodb常用命令介绍
2012-08-13 01:09 25606查看命令的方式: 1.在shell中运行db.listCom ... -
REST is not enabled. use --rest to turn on.
2012-08-13 00:00 5305使用浏览器访问mongodb管理员接口:http://ipad ... -
Mongodb MapReduce Error:'out' has to be a string or an object
2012-08-12 19:32 4153最近在学习Mongodb,作为入门,选择了《Mongodb权威 ... -
MongoDB数据类型
2012-07-09 00:28 7346参考地址:http://wawlian.iteye.com/ ... -
Mongodb在windows下通过配置文件配置和访问
2012-07-09 00:10 17579Mongodb配置文件配置: 第一步:在“D:\M ... -
Mongodb help命令介绍
2012-07-09 00:00 2788首先切换到Mongodb bi ... -
Mongodb在Linux下的安装和启动和配置
2012-07-09 00:11 97580Mongodb的安装与启动 下载链接: htt ... -
Mongodb在windows下的安装和启动
2012-07-08 23:43 66111Mongodb的安装与启动 下载链接:http: ...
相关推荐
mongodb性能监控
MongoDB在性能监控领域的应用 熊掀,讲述了MongoDB的性能监控、数据存储、 数据库监控方案。
主要介绍了MongoDB运行状态监控、性能分析工具mongostat详解,mongostat是mongdb自带的状态检测工具,在命令行下使用,它会间隔固定时间获取mongodb的当前运行状态,并输出,本文详细讲解了它的使用,需要的朋友可以参考下
1.分篇章进行学习,内容控制30分钟内 2.1个月疗程,不要放弃治疗哦 3.图文并茂,有问题请发到邮箱
MongoDB 是一个基于分布式文件存储的数据库。接下拉通过本文给大家分享MongoDB性能优化及监控,本文介绍的非常详细,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
Mongoop - 长时间的MongoDB操作监控和报警,监测和定位MongoDB长时间运行的操作,并自动触发报警的具体行动和性能分析。
mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非关系数据库当中功能最丰富,最像关系数据库的...
Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。 PMM提供了对MyISAM、InnoDB、TokuDB和PXC/...
Mongodb如今越来越火,要做好对mongodb的监控就需要从它的安装配置,到简单的command语句使用,再到对它运行机制以及状态获取方法的掌握。 mongodb有三种基本的状态获取方式: 1.mongostat 2.开启28017的监听...
10.2 性能监控 10.2.1 mongosniff底层监控 10.2.2 mongostat查看运行中的实例统计信息 10.2.3 db.serverStatuss查看实例运行状态 10.2.4 db.stats查看数据库状态 10.2.5 第三方工具 10.3 本章小...
该视频教程内容丰富、循序渐进,由浅入深,包括:mongodb的安装及启动,基础命令,数据存储结构,高级查询,索引,主从副本集,分片 ,数据导入与导出,性能监控与运维管理等,附带源码和PTT,百度云盘下载。
通过本书的权威解读,你会了解面向文档数据库的诸多优点,会发现MongoDB如此稳定、性能优越甚至能够无限水平扩展背后的原因。本书的两位作者均来自开发并支持开源数据库MongoDB的公司10gen。数据库开发人员可将此书...
只需要在数据库创建授权帐号后,即可进行远程监控,适合监控数据库服务器较多的公司和监控云中数据库,这将为企业大大减化监控部署流程,同时Lepus系统内置了丰富的性能监控指标,让企业能够在数据库宕机前发现潜在...
【学习目标】 1:安装及启动 2:mongodb的数据存储结构 3:高级查询技巧 4:mongodb索引优化 5:mongodb主从副本集(replica set) 6:mongodb分片(sharding) ...8:性能监控与运维管理 9:实战:3台服务器实战亿级短网址项目
简洁、直观、强大的企业级数据库监控系统,MySQL/Oracle/MongoDB/Redis一站式监控,让数据库监控更简单。支持邮件告警、短信告警、AWR性能报告、慢查询分析等专业功能。 简洁、直观、强大的企业级数据库监控系统,...
自己整理的mongodb性能优化文档,包括监控和优化两部分
MongoDB是一个可扩展的高性能,开源,模式自由,面向文档的数据库。它使用C++编写。MongoDB 包含一下特点:1.面向集合的存储:适合存储对象及JSON形式...4.查询监视:Mongo包含一个监控工具用于分析数据库操作性能。5.复制及
Palment--前端性能监控系统,主要基于Egg、Koa2