samdung 发表于 2018-10-27 12:14:32

管理Mongodb 集群所用到的系统管理及监控

  优化器profile
  在MySQL 中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB 中是否有类似的功能呢?答案是肯定的,那就是MongoDB Database Profiler。
  db.setProfilingLevel(2);上面profile 的级别可以取0,1,2 三个值,他们表示的意义如下:
  1.0 – 不开启
  2.1 – 记录慢命令 (默认为>100ms)
  3.2 – 记录所有命令
  Profile 记录在级别1 时会记录慢命令,那么这个慢的定义是什么?上面我们说到其默认为100ms,当然有默认就有设置,其设置方法和级别一样有两种,一种是通过添加–slowms 启动参数配置。第二种是调用db.setProfilingLevel 时加上第二个参数:
  与MySQL 的慢查询日志不同,MongoDB Profile 记录是直接存在系统db 里的,记录位置system.profile ,所以,我们只要查询这个Collection 的记录就可以获取到我们的 Profile 记录了。列出执行时间长于某一限度(5ms)的 Profile 记录:
  db.system.profile.find( { millis : { $gt : 5 } } )
  MongoDB Shell 还提供了一个比较简洁的命令show profile,可列出最近5 条执行时间超过1ms 的 Profile 记录。

页: [1]
查看完整版本: 管理Mongodb 集群所用到的系统管理及监控