文档捉虫大赛:人工智能与机器学习专题> HOT
云数据库 MongoDB 支持对数据库部分参数进行调整,使得数据库特性能更好地适应业务需求。

背景信息

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

版本说明

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

使用须知

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

前提条件

实例状态运行正常。

操作步骤

查询参数配置

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

修改参数配置

1. 可修改参数页签,单击修改运行值
2. 当前运行参数值列的输入框,重新设置需修改的参数值。如下图所示。
说明
您可以同时修改多个参数。
修改参数时,请务必根据参考值设置。
修改后需重启列,关注是否会重启实例,重启会造成连接中断,请提前做好业务安排,谨慎操作。


n参数生效范围因实例版本与架构有关,当前版本支持修改的参数如下表所示。
参数名
修改后是否重启
默认值
参考值
支持版本
支持实例类型
适用范围
参数解释
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. 查看参数修改的历史记录,您可以查看参数修改前后的值、修改状态以及修改时间。