我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mongodb 慢查询日志使用参考

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mongodb 慢查询日志使用参考

mongodb的Profiling功能->慢查询功能

    Profiling 把收集到的信息写入到system.profile集合中,system.profile集合是一个capped collection。

1.定位mongodb慢查询语句方法:
     开启Profiling功能,通过定位慢查询日志,找到执行比较慢的语句,然后进行优化,思路如下:
     a.查询慢查询日志(system.profile)找到超过定义时间的慢查询语句;
     b.explain()查看执行计划,可以参考如下文章:https://blog.51cto.com/1937519/2301699
     c.确定语句慢的原因,如缺少索引,业务批量问题等,思路与传统的rdbms的sql优化等同;
   
2.开启慢查询:
   2.1:Profiling级别说明:
      a.0:关闭,不收集任何数据。
      b.1:收集慢查询数据,默认是100毫秒。
      c.2:收集所有数据
    
   2.2:数据库慢查询配置(注意写入配置文件,重启后生效):
      a.查看状态:级别和时间
      repsetzhou:PRIMARY> db.getProfilingStatus()
       { "was" : 1, "slowms" : 200 }

     b.查看级别
      repsetzhou:PRIMARY> db.getProfilingLevel()
      1

     c.设置级别
      repsetzhou:PRIMARY>  db.setProfilingLevel(2)
      { "was" : 1, "slowms" : 200, "ok" : 1 }

     d.确认设置级别:
      repsetzhou:PRIMARY> db.getProfilingLevel()
      2

     e.说明:设置级别和时间(1000 相当于1s)
      repsetzhou:PRIMARY> db.setProfilingLevel(1,1000) ###(包括级别、时间参数,时间是毫秒单位)
      { "was" : 2, "slowms" : 1000, "ok" : 1 }

2.3:在配置文件中开启慢查询:

     operationProfiling:
           slowOpThresholdMs: 200
           mode: slowOp

3.关闭Profiling:
      a.关闭:
      repsetzhou:PRIMARY> db.setProfilingLevel(0)
      { "was" : 2, "slowms" : 1000, "ok" : 1 }
      b.确认:
      repsetzhou:PRIMARY> db.getProfilingStatus()
      { "was" : 0, "slowms" : 1000 }

4.修改system.profile的大小:

    a.关闭Profiling:
      repsetzhou:PRIMARY> db.setProfilingLevel(0)
      { "was" : 0, "slowms" : 200, "ok" : 1 }
     b.删除system.profile集合:
      repsetzhou:PRIMARY> db.system.profile.drop()
       true
     c.创建一个新的system.profile集合 - 10M:
      repsetzhou:PRIMARY>db.createCollection( "system.profile", { capped: true, size:10000000 } )
      { "ok" : 1 }
     d.重新开启Profiling:
     repsetzhou:PRIMARY> db.setProfilingLevel(1)
      { "was" : 0, "slowms" : 200, "ok" : 1 }


5.1慢查询(system.profile)分析:

   repsetzhou:PRIMARY> db.system.profile.find()

   a.查询大于指定时间如500毫秒:

   db.system.profile.find({"millis":{$gte:500}})

   b.查询指定时间慢查询:

    db.system.profile.find(
                       {
                        ts : {
                              $gt : new ISODate("2018-10-22T03:01:45.976Z"),
                              $lt : new ISODate("2018-10-22T03:01:48.976Z")
                             }
                       }
                      )

    c.显示5最近的事件:

    show profile

5.2:在mongodb的日志文件中同样记录慢查询日志,如果system.profile已经被覆盖,可以参考mongodb的后台日志。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mongodb 慢查询日志使用参考

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis慢查询日志怎么使用

今天小编给大家分享一下Redis慢查询日志怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。慢查询日志什么是SLOW L
2023-06-27

mysql中慢查询日志的相关参数

本篇内容介绍了“mysql中慢查询日志的相关参数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、 相关参数:• slow_query_lo
2023-06-06

php中慢查询日志和错误日志的使用示例

这篇“php中慢查询日志和错误日志的使用示例”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php中慢查询日志和错误日志的使用示例”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章
2023-06-06

Redis慢查询日志怎么配置和使用

Redis慢查询日志可以通过配置redis.conf文件来开启和配置,具体步骤如下:打开redis.conf文件,在其中添加如下配置:slowlog-log-slower-than 10000slowlog-max-len 1000其中,
Redis慢查询日志怎么配置和使用
2024-05-07

MySQL慢查询日志的作用和开启

前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,
2022-05-21

MySQL SQL性能分析之慢查询日志、explain使用详解

目录SQL执行频率慢查询日志profileexplainSQL执行频率mysql 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。通过如下指令,可以查看当前数据库的insert
2023-04-14

MySQL SQL性能分析之慢查询日志、explain使用详解

这篇文章主要介绍了MySQL SQL性能分析 慢查询日志、explain使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-16

编程热搜

目录