1.profile

profiling levels:

0,关闭profile;1,只抓取slow查询;2,抓取所有数据。

启动profile并且设置Profile级别:

可以通过mongo shell启动,也可以通过驱动中的profile命令启动,启动后记录会被保存在system.profile collection下,可以使用db.setProfilingLevel来启动。默认slow为100   毫秒。db.setProfilingLevel可以有2个参数,第一个参数指定Profiling 级别,第二个参     数指定slow阀值。

         检查当前Profiling 级别:可以通过db.getProfilingStatus()获取当前profiling级别,slowms      标记慢查询阀值。

         关闭Profiling还是使用db.setProfilingLevel(0)来关闭profiling

         整个实例开启Profiling:mongod --prifile=1 --slowms=15

         shard的Profiling:对shard的profiling要对每一个实例进行profiling

查看Profiling数据

可以直接在system.profile的collection上查看如:db.systen.profile.find()。或者使用show        profile,会显示最近至少1ms时间运行的前5条记录。

Profiler概述

要修改system.profile collection的大小必须:1.关闭profiling,2.删除system.profile,3.然后重新创建system.profile,4.重启profile。

shell如下:db.setProfilingLevel(0)

,db.system.profile.drop()

,db.createCollect("system.profile",{cappedLtrue,size:4000000})

,db.setProfilingLevel(1)

2.Mongostat
mongostat n n:刷新秒数 反应当前mongod的负荷
 
 
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
locked       - name of and percent time for most locked database
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
                  PRI - primary (master)
                  SEC - secondary
                  REC - recovering
                  UNK - unknown
                  SLV - slave
                  RTR - mongos process ("router")
 
3.Mongoop
collection级别反应,读写的时间
http://docs.mongodb.org/manual/reference/program/mongotop/
mongotop -h 192.168.10.69 2,每间隔2秒返回一次结果
                     ns       total        read       write              2014-05-09T14:00:55
    ub1405.system.users         0ms         0ms         0ms
  ub1405.system.profile         0ms         0ms         0ms
b1405.system.namespaces         0ms         0ms         0ms
  ub1405.system.indexes         0ms         0ms         0ms
    ub1405.WapRecommend         0ms         0ms         0ms
   ub1405.VisitPageInfo         0ms         0ms         0ms
       ub1405.UsageInfo         0ms         0ms         0ms
     ub1405.UpgradeInfo         0ms         0ms         0ms
          ub1405.Switch         0ms         0ms         0ms
 

 

4.mongoperf

用来测试io性能,可以用来做mongo的io压力测试,和sql server的SQLIOSim
http://docs.mongodb.org/manual/reference/program/mongoperf/
 
5. ServerStatus db.serverStatus()
 
包含了很多信息
 
6.db.stats()
 
反应数据库所占用的存储
{
        "db" : "ub1405",
        "collections" : 17,
        "objects" : 9939344,
        "avgObjSize" : 336.2453477815035,
        "dataSize" : 3342058180,
        "storageSize" : 4501643264,
        "numExtents" : 111,
        "indexes" : 15,
        "indexSize" : 322633136,
        "fileSize" : 8519680000,
        "nsSizeMB" : 16,
        "dataFileVersion" : {
                "major" : 4,
                "minor" : 5
        },
        "ok" : 1
}
 
7.db.collection.stats()
返回collection的一些信息:
{
        "ns" : "ub1405.WapRecommend",
        "count" : 514,
        "size" : 174416,
        "avgObjSize" : 339.3307392996109,
        "storageSize" : 430080,
        "numExtents" : 3,
        "nindexes" : 1,
        "lastExtentSize" : 327680,
        "paddingFactor" : 1,
        "systemFlags" : 1,
        "userFlags" : 0,
        "totalIndexSize" : 24528,
        "indexSizes" : {
                "_id_" : 24528
        },
        "ok" : 1
}

MongoDB 常用故障排查工具的更多相关文章

  1. erlang 故障排查工具

    系统级别perf top, dstat -tam, vtune 都能很好分析beam 瓶颈,本文主要erlang 级别排查: 1. 反编译 确认线上运行代码是否正确,reltools没掌握好,升级偶尔 ...

  2. java常用问题排查工具

    一:jstack找到最耗cpu的线程并定位代码 1.ps -ef|grep java 或者 jps -l 得到进程pid 2.找到该进程内最耗cpu的线程,我一般使用: top -Hp pid 3.c ...

  3. 常用故障排查监控shell脚本

    #!/bin/bash #ping_monitor.sh IP_ADDRESS=$1 if [ -n "$IP_ADDRESS" ] ; then while : do PING_ ...

  4. SQL Server 2008性能故障排查(一)——概论

    原文:SQL Server 2008性能故障排查(一)--概论 备注:本人花了大量下班时间翻译,绝无抄袭,允许转载,但请注明出处.由于篇幅长,无法一篇博文全部说完,同时也没那么快全部翻译完,所以按章节 ...

  5. 使用strace工具故障排查的5种简单方法

    使用strace工具故障排查的5种简单方法 本文源自5 simple ways to troubleshoot using strace strace 是一个非常简单的工具,用来跟踪可执行程序的系统调 ...

  6. MongoDB 常用的几大GUI工具

    MongoDB 常用的几大GUI工具 MongoDBCompass (官方的连接工具),免费的,界面简洁,不支持 sql 查询,支持性能监控.支持在三大平台 Windows .Mac .Linux 上 ...

  7. 1个工具,助你提升K8S故障排查效率!

    Kubernetes的故障排查一直困扰众多运维团队或DevOps,除了Kubernetes本身的复杂性之外,还有Kubernetes的工作负载是动态的原因.本文将介绍1个工具可以帮助你可视化K8S的网 ...

  8. Java线上应用故障排查之二:高内存占用

    搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2.java.lang.OutOfMemoryError: Java ...

  9. 一次线上OOM故障排查经过

    转贴:http://my.oschina.net/flashsword/blog/205266 本文是一次线上OOM故障排查的经过,内容比较基础但是真实,主要是记录一下,没有OOM排查经验的同学也可以 ...

随机推荐

  1. C ~ 链式队列与循环队列

          此处的链式与循环队列可以应用于BFS和树的层序遍历.下面是对其结构和基本操作的程序描述. 1.循环队列 解决循环队列的队空和队满的方法: [1].增加一个参数count,用来记录数组中当前 ...

  2. spring笔记2 spring MVC的基础知识2

    2,spring MVC的注解驱动控制器,rest风格的支持 作为spring mvc的明星级别的功能,无疑是使得自己的code比较优雅的秘密武器: @RequestMapping处理用户的请求,下面 ...

  3. luogg_java学习_01_JAVA基本概述

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 1.1基础常识 常用的dos命令 dir 列出当前目录 ...

  4. 最新微信公众平台js sdk整合PHP版

    由于没有持续关注微信公众平台相关的开发,所以看到这个东西时,都没有耐心看完开发文档,或者不知道重点. 重点在哪呢?重点在示例代码:http://mp.weixin.qq.com/wiki/7/aaa1 ...

  5. Java基础复习笔记系列 三

    前几节都是基础中的基础,从第三讲的笔记开始,每次笔记针对Java的一个知识块儿.  Java异常处理 1.什么是异常? 异常是指运行期出的错误.比如说:除以一个0:数组越界:读取的文件不存在. 异常处 ...

  6. Scalaz(26)- Lens: 函数式不可变对象数据操作方式

    scala中的case class是一种特殊的对象:由编译器(compiler)自动生成字段的getter和setter.如下面的例子: case class City(name:String, pr ...

  7. Hibernate 配置 双向 对多关联 (未完待续·······)

                   从生疏到熟练  是要经历多少遍的练习? 这答案只能向自己找. 以Student和Course为例,一个学生可以选多门课程,一门课程也可以被多个学生选取: 首先  我们创建 ...

  8. 让你fork下来的项目与源项目保持同步

    原文在此, 建议阅读, 我把关键步骤抽出来了, 方便概览 (也就是add remote upstream, fetch upstream, rebase, 再push) Step 1: Forking ...

  9. css知多少(8)——float上篇

    1. 引言 对于我们所有的web前端开发人员,float是或者曾经一度是你最熟悉的陌生人——你离不开它,却整天承受着它所带给你的各种痛苦,你以为它很简单就那么一点知识,但却驾驭不了它各种奇怪的现象. ...

  10. 请使用java来构造和遍历二叉树?

    [分析] 二叉树的结构:根节点.左子树.右子树.其中左子树的值必须小于根节点,右子树的值必须大于根节点.构造这种树结构,就是创建一个类,并提供一个方法,当给定一个值时,它能够自动创建节点并自动挂到二叉 ...