云数据库 MongoDB 的可调参数列表支持按需调整数据库运行行为。参数涵盖性能优化、资源管理及事务控制等关键维度,支持对数据库行为进行按需调控。各参数均包含默认值、取值范围与生效方式说明,保障配置操作的准确性与安全性。
参数名 | 修改后是否重启 | 默认值 | 参考值 | 支持版本 | 支持实例类型 | 适用范围 | 参数解释 |
operation.profiling.slowOpThresholdMs | 否 | 100 | [0-65536] | 4.0、4.2、4.4、5.0、6.0、7.0 | 副本、分片 | mongod、mongos | 设置慢查询判定时间,单位:毫秒。 |
operationProfiling.mode | 否 | off | [off | slowOp | all] | | 副本、分片 | mongod | 该参数用于设置数据库的操作性能分析模式。 off:性能分析器处于关闭状态,不记录任何操作。 slowOp:只记录执行时间超过 slowOpThresholdMs(默认100毫秒)阈值的“慢操作”。 all:记录所有数据库操作。 |
setParameter.cursorTimeoutMillis | 否 | 600000 | [1-2147483647] | | 副本、分片 | mongod、mongos | 该参数用于设定服务器端游标在无活动状态下的最大存活时间,超时后自动关闭以释放资源。 单位:毫秒。 默认情况下,该参数的值为10分钟,600000毫秒。 如果将该参数设置为0,则表示禁用游标超时机制,游标将一直保持打开状态,直到客户端主动关闭为止。 |
setParameter.intenalQueryExecMaxBlockingSortBytes | 否 | 33554432 | [33554432-268435456] | | 副本、分片 | mongod | 该参数设置了单个排序操作在内存中能使用的最大内存量(单位:Byte),超出限制将转为更慢的磁盘排序。 |
setParameter.maxTransactionLockRequestTimeoutMillis | 否 | 5 | [0-60] | | 副本、分片 | mongod | 用于设定事务在等待获取锁资源时的最大等待时长(单位:毫秒)。若超时仍未获取,则抛出超时异常。 |
setParameter.transactionLifetimeLimitSeconds | 否 | 60 | [5-300] | | 副本、分片 | mongod | 设置单个事务从开始到自动终止的最大持续时间(单位:秒)。 |
balance.window | 否 | NULL | [00:00 | 23:00] | | 分片 | mongos | 配置分片集群执行数据均衡操作的时间窗口,格式为"开始时间-结束时间"(如"00:00-06:00")。 |
openBalance.window | 否 | false | [true | false] | | 分片 | mongos | 启用或禁止 balance 窗口。 |
setParameter.tcmallocAggressiveMemoryDecommit | 否 | true | [true | false] | | 副本、分片 | mongod、mongos | 指定是否开启快速回收内存。 |
cmgo.crossZoneLoadBalancing | 否 | off | on|off | | 分片 | mongos | 配置在多个可用区(AZ)之间是否均衡分配读写请求。 |
cmgo.retainVipWhenSwitchover | 否 | on | on|off | | 副本、分片 | mongos | 控制主备切换(Switchover/Failover)时是否保持 Virtual IP(VIP)不变。 |
setParameter.ttlDeleteBatch | 否 | 2147483647 | [1-2147483647] | | 副本、分片 | mongod | 控制 TTL (Time-To-Live) 索引在删除过期文档时的批次大小。 |
setParameter.ttlMonitorSleepSecs | 否 | 60 | [60-600] | | 副本、分片 | mongod | 控制 MongoDB TTL 监控线程(TTLMonitor)的运行频率,即该线程每次执行后休眠的秒数。 |
setParameter.failIndexKeyTooLong | 否 | true | [true | false] | 3.2、3.6、4.0 | 副本、分片 | mongod | 用于控制 MongoDB 对索引键长度的校验行为,决定当索引键长度超过系统限制时是否强制失败。 启用(true):严格执行索引键长度限制,创建索引时进行长度验证。 禁用(false):放宽长度限制,允许创建超长索引键(可能被截断)。 |
storage.wiredTiger.collectionConfig.blockCompressor | 是 | snappy | [snappy | zlib | zstd] | 4.2、4.4、5.0、6.0、7.0 | 副本、分片 | mongod | 该参数指定 MongoDB 的 WiredTiger 存储引擎对集合数据使用的块压缩算法。 snappy(默认):平衡压缩率与 CPU 开销,推荐多数场景。 zlib:更高压缩率,但 CPU 消耗显著增加。 zstd:比 snappy 节省 20%~30% 磁盘空间(视数据类型而定);解压速度接近 snappy,压缩速度显著快于 zlib。 |
setParameter.migrateCloneInsertionBatchDelayMS | 否 | 0 | [0-5000] | | 分片 | mongod | 该参数控制 MongoDB 分片集群在数据迁移过程中,每次批量插入文档到目标分片后的等待时间(毫秒),用于调节迁移对目标分片的 I/O 压力。 |
setParameter.rangeDeleterBatchDelayMS | 否 | 20 | [0-5000] | | 分片 | mongod | 该参数控制 MongoDB 分片集群在数据迁移完成后,源分片批量删除旧数据块(Chunk)之间的延迟时间(毫秒),用于调节删除操作对源分片的 I/O 压力。 |
setParameter.rangeDeleterBatchSize | 否 | 128 | [0-2147483647] | | 分片 | mongod | 该参数控制 MongoDB 分片集群在数据迁移后,源分片每次批量删除旧数据块(Chunk)的文档数量上限,用于平衡删除效率与集群负载。 |
setParameter.migrateCloneInsertionBatchSize | 否 | 0 | [0-5000] | | 分片 | mongod | 该参数控制 MongoDB 分片集群在数据迁移过程中,目标分片每次批量插入文档的数量上限(单位:文档数),用于平衡迁移速度与目标分片的负载压力。 |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | 否 | 33554432 | [33554432-268435456] | | 副本、分片 | mongod、mongos | 该参数控制 MongoDB 在执行阻塞式排序(无法使用索引时)时,单个查询在内存中最多能占用的排序缓冲区大小(单位:字节),超出此限制将触发磁盘临时文件排序。 |