This topic lists the parameters for ApsaraDB for MongoDB 7.0.
Replica set
Parameter Name | Restart required | Default value | Valid values | Minor version range | Description | Official documentation |
setParameter.internalDocumentSourceGroupMaxMemoryBytes | No | 104857600 | [10485760-10485760000] | Unlimited | The maximum amount of memory that the $group operator can use. Data that exceeds this limit spills to disk. | Not public |
setParameter.timeseriesBucketMaxCount | Yes | 1000 | [1-10000] | Unlimited | The maximum number of measurements that can be stored in a single bucket of a time-series collection. | Private |
setParameter.timeseriesIdleBucketExpiryMemoryUsageThreshold | No | 5 | [0-6710886400] | Unlimited | The memory usage threshold for expiring and cleaning up idle buckets in a time-series collection. The default value is 5% of the available system memory. | Private |
setParameter.internalQueryMaxPushBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum amount of memory that the $push operator can use. | Not public |
setParameter.internalQueryMaxAddToSetBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum amount of memory that the $addToSet operator can use. | Private |
setParameter.internalDocumentSourceCursorBatchSizeBytes | No | 4194304 | [1048576-104857600] | Unlimited | The maximum amount of data that a DocumentSourceCursor can cache from the underlying PlanExecutor before pipeline processing. | Private |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | No | 104857600 | [33554432-268435456] | Unlimited | The maximum amount of memory that a blocking sort stage can use during a query, in bytes. The default value is equivalent to 100 MB. | Unpublished |
setParameter.internalQueryCacheMaxEntriesPerCollection | No | 5000 | [0-5000] | Unlimited | The maximum number of entries in the query plan cache for a collection. Note Applies only to the classic query engine, not the slot-based execution (SBE) engine. | Private |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | The network compression algorithm for a mongod or mongos. If you specify multiple compression algorithms, they are prioritized in descending order. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | Specify the query analyzer level. Note Enabling this parameter degrades instance performance. Use with caution in a production environment. | |
operationProfiling.slowOpThresholdMs | No | 100 | [0-65536] | Unlimited | The threshold, in milliseconds, for an operation to be considered slow. | |
replication.oplogGlobalIdEnabled | Yes | false | [true|false] | Unlimited | Specifies whether to enable GID to support two-way synchronization for DTS or mongoShake. | Self-developed parameter |
replication.oplogSizeMB | No | 10% | [1024-1073741824] | Unlimited | The maximum size of the oplog, in megabytes (MB). The default is 10% of the disk size. | |
rsconf.writeConcernMajorityJournalDefault | No | true | [true|false] | Unlimited | Specifies whether the journal must be written to disk when the write concern is set to majority. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The time limit, in milliseconds, for an idle cursor before it times out. If a cursor is idle for longer than this limit, MongoDB removes it. An attempt to access a removed cursor returns a "cursor not found" error. | |
setParameter.flowControlTargetLagSeconds | No | 10 | [1-600] | Unlimited | The threshold, in seconds, that triggers flow control. Flow control ensures that the majority commit point does not fall too far behind. | |
setParameter.maxTransactionLockRequestTimeoutMillis | No | 5 | [0-60] | Unlimited | The time, in milliseconds, that a transaction waits to acquire the required locks. | |
setParameter.oplogFetcherUsesExhaust | Yes | true | [true|false] | Unlimited | Specifies whether to enable streaming replication. The default value is true (enabled). | |
setParameter.replWriterThreadCount | Yes | 16 | [1-256] | Unlimited | The maximum number of threads for parallel replication. The actual maximum number of threads is twice the number of CPU cores. | |
setParameter.tcmallocAggressiveMemoryDecommit | No | 0 | [0|1] | Unlimited | Specifies whether to enable aggressive memory decommit for tcmalloc. The default value is 0 (disabled). | |
setParameter.tcmallocReleaseRate | No | 1 | [1-10] | Unlimited | The rate at which tcmalloc releases memory to the operating system. A higher value indicates a faster rate. | |
setParameter.transactionLifetimeLimitSeconds | No | 60 | [1-300] | Unlimited | The total lifetime of a transaction, in seconds. Transactions that run longer than this limit are aborted to reduce pressure on the WiredTiger cache. | |
storage.oplogMinRetentionHours | No | 0 | [0.00-720.00] | Unlimited | The minimum time to retain oplog entries, in hours. This value can be a floating-point number. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The storage compression algorithm for collection data. After you change this parameter, the new algorithm applies only to new collections. To use different compression algorithms for different collections, use the | |
setParameter.minSnapshotHistoryWindowInSeconds | No | 300 | [0-600] | Unlimited | The time window, in seconds, to retain snapshot history in the WiredTiger (WT) engine. A value of 0 disables the snapshot history window. | |
rsconf.chainingAllowed | No | true | [true|false] | Unlimited | Specifies whether to allow chained replication in the replica set. For example, data is replicated from the primary node to a secondary node, and then from the secondary node to a hidden node. Or, data is replicated from the primary node to a hidden node, and then from the hidden node to a secondary node. |
Sharded cluster (Shard)
Parameter Name | Restart required | Default value | Valid values | Minor version range | Description | Official documentation |
setParameter.internalDocumentSourceGroupMaxMemoryBytes | No | 104857600 | [10485760-10485760000] | Unlimited | The maximum memory size that the $group operator can use. Data that exceeds this limit overflows to the disk. | Not publicly available |
setParameter.timeseriesBucketMaxCount | Yes | 1000 | [1-10000] | Unlimited | The maximum number of measurements that can be stored in a single bucket of a time series collection. | Not publicly available |
setParameter.timeseriesIdleBucketExpiryMemoryUsageThreshold | No | 5 | [0-6710886400] | Unlimited | The memory usage threshold at which idle buckets in a time series collection expire. The default value is 5% of the available memory. | Not publicly available |
setParameter.internalQueryMaxPushBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum amount of memory that the $push operator can use. | Not publicly available |
setParameter.internalQueryMaxAddToSetBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum amount of memory that the $addToSet operator can use. | Not publicly available |
setParameter.internalDocumentSourceCursorBatchSizeBytes | No | 4194304 | [1048576-104857600] | Unlimited | The maximum amount of data that a DocumentSourceCursor can cache from the underlying PlanExecutor before pipeline processing. | Not publicly available |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | No | 104857600 | [33554432-268435456] | Unlimited | The maximum amount of memory that a blocking sort stage can use during a query. Unit: bytes. The default value is 100 MB. | Not publicly available |
setParameter.internalQueryCacheMaxEntriesPerCollection | No | 5000 | [0-5000] | Unlimited | The maximum number of entries in the query plan cache for a collection. Note This parameter applies only to the classic query engine, not the slot-based execution (SBE) engine. | Not publicly available |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | Specifies the network compression algorithms for mongod or mongos. If you specify multiple algorithms, they are listed in descending order of priority. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | Specifies the level for the query profiler. Note Enabling this parameter degrades instance performance. Use with caution in a production environment. | |
operationProfiling.slowOpThresholdMs | No | 100 | [0-65536] | Unlimited | The threshold for slow operations. An operation is considered slow if its runtime exceeds this threshold. Unit: milliseconds. | |
replication.oplogGlobalIdEnabled | Yes | false | [true|false] | Unlimited | Specifies whether to enable Global IDs (GIDs) to support two-way synchronization for Data Transmission Service (DTS) or mongoShake. | Self-developed parameter |
replication.oplogSizeMB | No | 10% | [1024-1073741824] | Unlimited | The maximum size of the oplog collection in megabytes (MB). The default value is 10% of the disk size. | |
rsconf.writeConcernMajorityJournalDefault | No | true | [true|false] | Unlimited | Specifies whether the journal must be written to disk when the write concern is `majority`. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for idle cursors in milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. An attempt to access the deleted cursor returns a "cursor not found" error. | |
setParameter.flowControlTargetLagSeconds | No | 10 | [1-600] | Unlimited | The threshold in seconds that triggers the flow control mechanism. Flow control ensures that most commit points do not lag too far behind. | |
setParameter.maxTransactionLockRequestTimeoutMillis | No | 5 | [0-60] | Unlimited | The timeout for a transaction to acquire a lock. Unit: milliseconds. | |
setParameter.migrateCloneInsertionBatchSize | No | 0 | [0-1000] | Unlimited | The maximum number of documents in a single batch during the clone step of a chunk migration. A value of `0` indicates that the batch size is limited only by the 16 MB document size limit. | |
setParameter.oplogFetcherUsesExhaust | Yes | true | [true|false] | Unlimited | Specifies whether to enable streaming replication. The default value `true` enables this feature. | |
setParameter.rangeDeleterBatchDelayMS | No | 20 | [0-600000] | Unlimited | The delay in milliseconds between batch deletions during the cleanup step of a chunk migration. This also affects the | |
setParameter.rangeDeleterBatchSize | No | 0 | [0-1000] | Unlimited | The maximum number of documents in a single batch for asynchronous deletion during the cleanup step of a chunk migration. A value of `0` allows the system to automatically select a reasonable batch size, which is typically 128. | |
setParameter.replWriterThreadCount | Yes | 16 | [1-256] | Unlimited | The maximum number of threads for parallel replication in primary-secondary synchronization. The effective maximum number of threads is twice the number of CPU cores for the instance specification. | |
setParameter.tcmallocAggressiveMemoryDecommit | No | 0 | [0|1] | Unlimited | Specifies whether to enable aggressive memory decommitment for tcmalloc. The default value `0` disables this feature. | |
setParameter.tcmallocReleaseRate | No | 1 | [1-10] | Unlimited | The rate at which tcmalloc releases memory to the operating system (OS). A higher value indicates a faster release rate. | |
setParameter.transactionLifetimeLimitSeconds | No | 60 | [1-300] | Unlimited | The total timeout for a transaction, which defines its lifecycle. Unit: seconds. Transactions that exceed this limit are aborted to reduce pressure on the WiredTiger (wt) cache. | |
storage.oplogMinRetentionHours | No | 0 | [0.00-720.00] | Unlimited | The retention period for the oplog collection in hours. This parameter supports floating-point numbers. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The storage compression algorithm for collection data. Changes to this parameter affect only new collections. To use different compression algorithms for different collections, run the | |
setParameter.receiveChunkWaitForRangeDeleterTimeoutMS | No | 10000 | [10000-3600000] | Unlimited | The timeout in milliseconds to wait for the deletion of orphaned documents before a chunk migration. | Not publicly available |
setParameter.minSnapshotHistoryWindowInSeconds | No | 300 | [0-600] | Unlimited | The window size in seconds for which the WiredTiger (WT) engine retains snapshot history. A value of `0` disables the snapshot history window. | |
rsconf.chainingAllowed | No | true | [true|false] | Unlimited | Specifies whether to allow chained replication in the shard. For example, data is replicated from a primary node to a secondary node, and then from the secondary node to a hidden node. Alternatively, data is replicated from a primary node to a hidden node, and then from the hidden node to a secondary node. |
Sharded cluster (Mongos)
Parameter Name | Restart required | Default value | Valid values | Minor version range | Description | Official documentation |
setParameter.taskExecutorPoolSize | Yes | 1 | [1-32] | Baseline version 7.0.26 and later | The number of TaskExecutor connection pools on the Mongos instance. | |
setParameter.readHedgingMode | No | on | [on|off] | Unlimited | Specifies whether to enable Hedged Reads support. | |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | Specifies the network compression algorithms for mongod or mongos. If you specify multiple algorithms, they are listed in descending order of priority. | |
operationProfiling.slowOpThresholdMs | No | 100 | [0-65536] | Unlimited | The threshold for slow operations. An operation is considered slow if its runtime exceeds this threshold. Unit: milliseconds. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for idle cursors in milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. An attempt to access the deleted cursor returns a "cursor not found" error. | |
setParameter.ShardingTaskExecutorPoolHostTimeoutMS | No | 300000 | [60000-3600000] | Unlimited | The timeout after which a mongos instance drops all connections to a host's TaskExecutor connection pool. | |
setParameter.ShardingTaskExecutorPoolMaxConnecting | No | 2 | [1-32] | Unlimited | The maximum number of concurrent connections that can be established during the initialization of a TaskExecutor connection pool for a shard instance. This controls the connection establishment speed from mongos to mongod. | |
setParameter.ShardingTaskExecutorPoolMaxSize | No | 32767 | [1-32767] | Unlimited | The maximum number of connections in each TaskExecutor connection pool for a shard instance. | |
setParameter.ShardingTaskExecutorPoolMinSize | No | 1 | [1-256] | Unlimited | The minimum number of connections in each TaskExecutor connection pool for a shard instance. | |
setParameter.ShardingTaskExecutorPoolRefreshRequirementMS | No | 60000 | [30000-3600000] | Unlimited | The interval at which a mongos instance performs heartbeat detection on idle connections in the TaskExecutor connection pool. | |
setParameter.ShardingTaskExecutorPoolRefreshTimeoutMS | No | 20000 | [5000-600000] | Unlimited | The timeout for a mongos instance to wait for a heartbeat response. | |
setParameter.tcmallocAggressiveMemoryDecommit | No | 0 | [0|1] | Unlimited | Specifies whether to enable aggressive memory decommitment for tcmalloc. The default value `0` disables this feature. | |
setParameter.tcmallocReleaseRate | No | 1 | [1-10] | Unlimited | The rate at which tcmalloc releases memory to the operating system (OS). A higher value indicates a faster release rate. |
Sharded cluster (Configserver)
Parameter Name | Restart required | Default value | Valid values | Minor version range | Description | Official documentation |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | Specifies the network compression algorithms for mongod or mongos. If you specify multiple algorithms, they are listed in descending order of priority. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | Specifies the level for the query profiler. Note Enabling this parameter degrades instance performance. Use with caution in a production environment. | |
operationProfiling.slowOpThresholdMs | No | 100 | [0-65536] | Unlimited | The threshold for slow operations. An operation is considered slow if its runtime exceeds this threshold. Unit: milliseconds. | |
replication.oplogGlobalIdEnabled | Yes | false | [true|false] | Unlimited | Specifies whether to enable Global IDs (GIDs) to support two-way synchronization for Data Transmission Service (DTS) or mongoShake. | Self-developed parameter |
replication.oplogSizeMB | No | 10% | [1024-1073741824] | Unlimited | The maximum size of the oplog collection in megabytes (MB). The default value is 10% of the disk size. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for idle cursors in milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. An attempt to access the deleted cursor returns a "cursor not found" error. | |
setParameter.flowControlTargetLagSeconds | No | 10 | [1-600] | Unlimited | The threshold in seconds that triggers the flow control mechanism. Flow control ensures that most commit points do not lag too far behind. | |
setParameter.maxTransactionLockRequestTimeoutMillis | No | 5 | [0-60] | Unlimited | The timeout for a transaction to acquire a lock. Unit: milliseconds. | |
setParameter.oplogFetcherUsesExhaust | Yes | true | [true|false] | Unlimited | Specifies whether to enable streaming replication. The default value `true` enables this feature. | |
setParameter.replWriterThreadCount | Yes | 16 | [1-256] | Unlimited | The maximum number of threads for parallel replication in primary-secondary synchronization. The effective maximum number of threads is twice the number of CPU cores for the instance specification. | |
setParameter.tcmallocAggressiveMemoryDecommit | No | 0 | [0|1] | Unlimited | Specifies whether to enable aggressive memory decommitment for tcmalloc. The default value `0` disables this feature. | |
setParameter.tcmallocReleaseRate | No | 1 | [1-10] | Unlimited | The rate at which tcmalloc releases memory to the operating system (OS). A higher value indicates a faster release rate. | |
setParameter.transactionLifetimeLimitSeconds | No | 60 | [1-300] | Unlimited | The total timeout for a transaction, which defines its lifecycle. Unit: seconds. Transactions that exceed this limit are aborted to reduce pressure on the WiredTiger (wt) cache. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The storage compression algorithm for collection data. Changes to this parameter affect only new collections. To use different compression algorithms for different collections, run the |