• 技术文章 >数据库 >MongoDB

    mongodb慢查询是什么?

    yangyang2020-05-23 13:51:19原创10115

    mongodb慢查询是超过指定时间的SQL语句查询。sql语句就是对数据库进行操作的一种语言。

    MongoDB 的 慢查询记录储存在 system.profile 里,默认情况下是关闭的,我们可以在数据库级别上或者是节点级别上配置。

    状态码及相关描述:

    0:表示关闭慢查询,默认情况下

    1:表示超过阈值的查询收集

    2:为所有数据库开启慢查询记录,收集所有的数据

    启动方式

    MongoDB慢查询有两种启动方式:

    1)通过 MongoDB shell 启用

    #  为所有数据库开启慢查询记录
    db.setProfilingLevel(2)
    #  指定数据库,并指定阈值慢查询 ,超过20毫秒的查询被记录
    use testdb.setProfilingLevel(1, { slowms: 20 })
    #  随机采集慢查询的百分比值,sampleRate 值默认为1,表示都采集,0.42 表示采集42%的内容。
    db.setProfilingLevel(1, { sampleRate: 0.42 })
    # 查询慢查询级别和其它信息
    db.getProfilingStatus()
    # 仅返回慢查询级别
    db.getProfilingLevel()
    # 禁用慢查询
    db.setProfilingLevel(0)

    2)通过配置文件启用

    在ini 配置文件 mongodb.conf 添加以下参数, profile参数是设置开启等级,slowms是设置阈值

    profile = 1

    slowms = 300

    在 YAML配置 文件配置

    operationProfiling:

    mode:<string># 默认为 off,可选值 off、slowOp(对应上面的等级 1)、all(对应上面的等级 2)

    slowOpThresholdMs:<int># 阈值,默认值为100,单位毫秒

    slowOpSampleRate:<double># 随机采集慢查询的百分比值,sampleRate 值默认为1,表示都采集,0.42 表示采集42%的内容

    更多mongodb相关文章请关注python自学网

    专题推荐:mongodb
    上一篇:mongodb副本集如何读写分离? 下一篇:mongodb慢查询是什么?

    相关文章推荐

    • 如何修复mongodb?• mongodb如何查找最后几项?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网