tencent cloud

文档反馈

调整数据库参数

最后更新时间:2024-10-10 14:49:26
    云数据库 MongoDB 支持对数据库部分参数进行调整,使得数据库特性能更好地适应业务需求。

    背景信息

    在日常运维过程中,快速调整数据库的部分参数可以针对性地优化数据库的查询、管理性能,适应时常变化的业务场景。同时,支持随时查看参数的修改历史记录,保证定位异常有据可依。

    版本说明

    当前 MongoDB 3.2及以上版本均支持对数据库参数进行修改。但每个版本可修改的参数存在差异,以控制台上展示的参数为准。

    使用须知

    当前参数修改功能仅支持修改后无需重启即可生效的参数,修改后需要重启生效的参数待后期版本更新。您也可通过 MongoDB 终端自行设置,重启会造成连接中断,请提前做好业务安排,谨慎操作。
    更新集群架构或配置,例如,调整配置规格、调整节点、调整分片、节点升级、节点迁移等操作,不需要重复进行参数配置,系统将自动同步参数配置的数据。

    前提条件

    实例状态运行正常。

    操作步骤

    查询参数配置

    1. 登录 MongoDB 控制台
    2. 在左侧导航栏,选择副本集实例或者分片实例,二者操作过程类似。
    3. 在右侧实例列表中,找到目标实例。
    4. 单击目标实例 ID,进入实例详情页面。
    5. 选择参数配置页签,查看数据库参数配置情况。

    修改参数配置

    1. 可修改参数页签,单击修改运行值
    2. 当前运行参数值列的输入框,重新设置需修改的参数值。如下图所示。
    说明:
    您可以同时修改多个参数。
    修改参数时,请务必根据参考值设置。
    修改后需重启列,关注是否会重启实例,重启会造成连接中断,请提前做好业务安排,谨慎操作。
    
    参数生效范围因实例版本与架构有关,当前版本支持修改的参数如下表所示。
    参数名
    修改后是否重启
    默认值
    参考值
    支持版本
    支持实例类型
    适用范围
    参数解释
    operation.profiling.slowOpThresholdMs
    100
    [0-65536]
    4.0、4.2、4.4
    副本集、分片实例
    mongod、mongos
    设置慢查询时间判定时间,单位:毫秒。
    operationProfiling.mode
    off
    [off | slowOp | all]
    4.0、4.2、4.4
    副本集、分片实例
    mongod
    该参数用于设置数据库的操作性能分析模式。通过设置不同的模式,可以记录数据库操作的性能数据,以便进行性能优化和故障排查。该参数有以下几种可选值:
    off:关闭操作性能分析。
    slowOp:记录慢操作,即执行时间超过阈值的操作,默认阈值为 100 毫秒。
    all:记录所有操作的性能数据。
    setParameter.cursorTimeoutMillis
    600000
    [1-2147483647]
    3.2、3.6、4.0、4.2、4.4
    副本集、分片实例
    3.2与3.6:mongod4.0、4.2、4.4:mongod、mongos
    该参数用于设置游标的最大空闲时间,即游标在一定时间内没有被使用时会被自动关闭,释放相关资源。默认情况下,该参数的值为 10 分钟。如果需要延长或缩短游标的超时时间,可以通过修改该参数的值来实现。需要注意的是,如果将该参数设置为 0,则表示禁用游标超时机制,游标将一直保持打开状态,直到客户端主动关闭为止。
    setParameter.intenalQueryExecMaxBlockingSortBytes
    33554432
    [33554432-268435456]
    4.0、4.2、4.4
    副本集、分片实例
    mongod、mongos
    该参数控制了 MongoDB 在执行排序操作时所能使用的最大内存量。当 MongoDB 执行一个需要排序的查询时,它可能需要在内存中对结果集进行排序。如果结果集的大小超过了所设置的值,MongoDB 就会使用磁盘来进行排序操作,这可能会导致性能下降。单位:Byte。
    setParameter.maxTransactionLockRequestTimeoutMillis
    5
    [0-60]
    4.0、4.2、4.4
    副本集、分片实例
    mongod
    该参数控制了 MongoDB 事务在等待获取锁时的最大超时时间。当一个事务需要获取一个锁时,如果该锁已被其他事务持有,那么该事务就会等待一段时间,尝试获取该锁。如果等待时间超过了该参数设置的值,该事务就会抛出一个超时异常。单位:毫秒。
    setParameter.transactionLifetimeLimitSeconds
    60
    [5-300]
    4.0、4.2、4.4
    副本集、分片实例
    mongod
    设置单个事务的最长生命周期,单位:秒。当一个事务开始执行时,MongoDB 会为该事务分配一个唯一的事务 ID,并记录该事务的开始时间。如果该事务在所设置的时间内没有完成,MongoDB 就会自动回滚该事务并释放相关资源。
    setParameter.failIndexKeyTooLong
    true
    [true | false]
    3.2、3.6、4.0
    副本集、分片实例
    mongod
    设置是否限制索引键的长度。
    如果该参数被设置为 true,当MongoDB 创建一个索引时,如果该索引键的长度超出了 MongoDB所支持的最大限制,MongoDB 就会抛出一个错误并拒绝创建该索引
    balance.window
    NULL
    [00:00 | 23:00]
    4.0、4.2、4.4
    分片实例
    mongos
    MongoDB 集群均衡操作用于将集群中的数据尽可能均匀地分布到各个节点上,以提高集群的性能和可用性。该参数指定 MongoDB 在多长时间内对集群进行一次均衡操作,以确保数据在节点之间的均匀分布。
    openBalance.window
    false
    [true | false]
    4.0、4.2、4.4
    分片实例
    mongos
    启用或禁止 balance 窗口。
    3. 单击确定,完成修改。

    查询参数配置修改记录

    1. 参数配置页签,单击修改历史
    2. 查看参数修改的历史记录,您可以查看参数修改前后的值、修改状态以及修改时间。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持