This topic describes all parameters available for ApsaraDB for MongoDB 5.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 memory that the $group operator can use. If the memory usage exceeds this value, the excess data 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.internalQueryMaxPushBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum memory that the $push operator can use. | Not public |
setParameter.internalQueryMaxAddToSetBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum memory that the $addToSet operator can use. | Not public |
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 public |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | No | 104857600 | [33554432-268435456] | Unlimited | The maximum memory that a blocking sort operation can use during a query. Unit: bytes. The default value is 100 MB. | Private |
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. | Private |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | The network compression algorithm for mongod or mongos. If you specify multiple compression algorithms, they are prioritized in descending order. | |
net.serviceExecutor | Yes | synchronous | [synchronous|adaptive] | Unlimited | The thread and execution model used by mongod or mongos. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | 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 the global identifier (GID) to support two-way synchronization by DTS or mongoShake. | Self-developed parameter |
replication.oplogSizeMB | No | 10% | [1024-1073741824] | Unlimited | The maximum size of the oplog collection. Unit: 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 set to majority. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for an idle cursor. Unit: milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. An attempt to access the cursor again returns a "cursor not found" error. | |
setParameter.flowControlTargetLagSeconds | No | 10 | [1-600] | Unlimited | The threshold that triggers the flow control mechanism. Unit: seconds. Flow control ensures that most commit points do not lag too far behind. | |
setParameter.maxTransactionLockRequestTimeoutMillis | No | 5 | [0-60] | Unlimited | The timeout for acquiring a transaction 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 OS. A higher value indicates a faster rate. | |
setParameter.transactionLifetimeLimitSeconds | No | 60 | [1-300] | Unlimited | The total timeout for a transaction, which represents the transaction lifecycle. Unit: seconds. A transaction that runs longer than this limit is aborted to relieve pressure on the WiredTiger cache. | |
storage.oplogMinRetentionHours | No | 0 | [0.00-720.00] | Unlimited | The retention period of the oplog collection. This parameter supports floating-point numbers. Unit: hours. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The storage compression algorithm for collection data. A change to this parameter applies only to new collections. To use a different compression algorithm for a specific collection, run an explicit | |
setParameter.minSnapshotHistoryWindowInSeconds | No | 300 | [0-600] | Unlimited | The size of the window for retaining snapshot history in the WiredTiger (WT) engine. Unit: seconds. A value of 0 closes 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 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 (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 that the $group operator can use. If the memory usage exceeds this value, the excess data 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.internalQueryMaxPushBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum memory that the $push operator can use. | Not public |
setParameter.internalQueryMaxAddToSetBytes | No | 104857600 | [10485760-1048576000] | Unlimited | The maximum 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 memory that a blocking sort operation can use during a query. Unit: bytes. The default value is 100 MB. | Private |
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 SBE engine. | Not public |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | The network compression algorithm for mongod or mongos. If you specify multiple compression algorithms, they are prioritized in descending order. | |
net.serviceExecutor | Yes | synchronous | [synchronous|adaptive] | Unlimited | Specifies the threads and execution model for mongod or mongos. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | 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 the GID to support two-way synchronization by DTS or mongoShake. | Self-developed parameter |
replication.oplogSizeMB | No | 10% | [1024-1073741824] | Unlimited | The maximum size of the oplog collection. Unit: 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 set to majority. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for an idle cursor. Unit: milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. An attempt to access the cursor again returns a "cursor not found" error. | |
setParameter.flowControlTargetLagSeconds | No | 10 | [1-600] | Unlimited | The threshold that triggers the flow control mechanism. Unit: seconds. Flow control ensures that most commit points do not lag too far behind. | |
setParameter.maxTransactionLockRequestTimeoutMillis | No | 5 | [0-60] | Unlimited | The timeout for acquiring a transaction lock. Unit: milliseconds. | |
setParameter.migrateCloneInsertionBatchSize | No | 0 | [0-1000] | Unlimited | The maximum number of documents in a single batch during the cloning step of chunk migration. The default value `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 interval between batch deletions during the cleanup step of chunk migration. Unit: milliseconds. 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 chunk migration. The default value `0` lets the system 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 OS. A higher value indicates a faster rate. | |
setParameter.transactionLifetimeLimitSeconds | No | 60 | [1-300] | Unlimited | The total timeout for a transaction, which represents the transaction lifecycle. Unit: seconds. A transaction that runs longer than this limit is aborted to relieve pressure on the WT cache. | |
storage.oplogMinRetentionHours | No | 0 | [0.00-720.00] | Unlimited | The retention period of the oplog collection. This parameter supports floating-point numbers. Unit: hours. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The storage compression algorithm for collection data. A change to this parameter applies only to new collections. To use a different compression algorithm for a specific collection, run an explicit | |
setParameter.receiveChunkWaitForRangeDeleterTimeoutMS | No | 10000 | [10000-3600000] | Unlimited | The timeout for waiting to delete orphaned documents before chunk migration. Unit: milliseconds. | Private |
setParameter.minSnapshotHistoryWindowInSeconds | No | 300 | [0-600] | Unlimited | The size of the window for retaining snapshot history in the WT engine. Unit: seconds. A value of 0 closes 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.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 | The network compression algorithm for mongod or mongos. If you specify multiple compression algorithms, they are prioritized in descending order. | |
net.serviceExecutor | Yes | synchronous | [synchronous|adaptive] | Unlimited | Specifies the thread and execution model for mongod or mongos. | |
operationProfiling.slowOpThresholdMs | No | 100 | [0-65536] | Unlimited | The threshold for slow operations. An operation that runs longer than this threshold is considered a slow operation. Unit: milliseconds. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for an idle cursor. Unit: milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. If you try to access the cursor again, a "cursor not found" error is reported. | |
setParameter.ShardingTaskExecutorPoolHostTimeoutMS | No | 300000 | [60000-3600000] | Unlimited | The timeout period after which a mongos instance drops all connections to a host's TaskExecutor connection pool. | |
setParameter.ShardingTaskExecutorPoolMaxConnecting | No | 2 | [1-32] | Unlimited | The maximum concurrency for initializing connections in a sharded cluster's TaskExecutor connection pool. This parameter controls the rate at which connections are established from mongos to mongod. | |
setParameter.ShardingTaskExecutorPoolMaxSize | No | 32767 | [1-32767] | Unlimited | The maximum number of connections in each TaskExecutor connection pool for a sharded cluster instance. | |
setParameter.ShardingTaskExecutorPoolMinSize | No | 1 | [1-256] | Unlimited | The minimum number of connections in each TaskExecutor connection pool for a sharded cluster instance. | |
setParameter.ShardingTaskExecutorPoolRefreshRequirementMS | No | 60000 | [30000-3600000] | Unlimited | The interval at which a mongos instance performs heartbeat checks on hibernating connections in the TaskExecutor connection pool. | |
setParameter.ShardingTaskExecutorPoolRefreshTimeoutMS | No | 20000 | [5000-600000] | Unlimited | The timeout period for a mongos instance to wait for a heartbeat response. | |
setParameter.taskExecutorPoolSize | Yes | 1 | [1-32] | Unlimited | The number of TaskExecutor connection pools on a mongos instance. | |
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 OS. A higher value indicates a faster 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 | The network compression algorithm for mongod or mongos. If you specify multiple compression algorithms, they are prioritized in descending order. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | 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 that runs longer than this threshold is considered a slow operation. Unit: milliseconds. | |
replication.oplogGlobalIdEnabled | Yes | false | [true|false] | Unlimited | Specifies whether to enable GIDs to support two-way synchronization by DTS or mongoShake. | Self-developed parameter |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold for an idle cursor. Unit: milliseconds. If a cursor is idle for longer than this threshold, MongoDB deletes the cursor. If you try to access the cursor again, a "cursor not found" error is reported. | |
setParameter.oplogFetcherUsesExhaust | Yes | true | [true|false] | Unlimited | Specifies whether to enable streaming replication. The default value `true` enables this feature. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The storage compression algorithm for collection data. After modification, the new algorithm applies only to new collections. To use different compression algorithms for different collections, run the |