This topic lists the parameters for ApsaraDB for MongoDB 7.0.
Replica set
Parameter | Force restart | Default value | Valid value | Minor engine version | Description | Documentation |
net.compression.compressors | Yes | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | Unlimited | The network compression algorithm used by mongod or mongos. If you specify multiple network compression algorithms, the priorities of the algorithms are in descending order. | |
operationProfiling.mode | Yes | off | [off|slowOp|all] | Unlimited | The level of operations profiled by the query profiler. Note If this parameter is enabled, instance performance is degraded. Proceed with caution when you want to enable this parameter in the production environment. | |
operationProfiling.slowOpThresholdMs | No | 100 | [0-65536] | Unlimited | The slow operation time threshold. Slow operations refer to operations that run for a longer period of time than this threshold. Unit: milliseconds. | |
replication.oplogGlobalIdEnabled | Yes | false | [true|false] | Unlimited | Specifies whether to enable the GID to accelerate two-way synchronization performed 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 capped at 10% of the disk size. | |
rsconf.writeConcernMajorityJournalDefault | No | true | [true|false] | Unlimited | Specifies whether to persist the journal when the write concern is set to majority. | |
setParameter.cursorTimeoutMillis | No | 600000 | [1-2147483647] | Unlimited | The expiration threshold of the idle cursor. Unit: milliseconds. If the idle time of a cursor exceeds this threshold, ApsaraDB for MongoDB deletes the cursor. In this case, if you attempt to access the cursor again, the system returns the "cursor not found" error message. | |
setParameter.flowControlTargetLagSeconds | No | 10 | [1-600] | Unlimited | The threshold for triggering the flowControl mechanism. Unit: seconds. The flowControl mechanism ensures that a majority of data is committed within the specified threshold. | |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | No | 33554432 | [33554432-268435456] | Unlimited | The maximum available memory during the sorting phase. Unit: bytes. The default value is equivalent to 32 MB. | To be released |
setParameter.maxTransactionLockRequestTimeoutMillis | No | 5 | [0-60] | Unlimited | The timeout period for the transaction to wait to acquire locks required by the operations in the transaction. Unit: milliseconds. | |
setParameter.oplogFetcherUsesExhaust | Yes | true | [true|false] | Unlimited | Specifies whether to enable streaming replication. The default value true indicates that streaming replication is enabled. | |
setParameter.replWriterThreadCount | Yes | 16 | [1-256] | Unlimited | The maximum number of threads used to apply replicated operations in parallel. The maximum number of used threads is capped at twice the number of CPU cores. | |
setParameter.tcmallocAggressiveMemoryDecommit | No | 0 | [0|1] | Unlimited | Specifies whether to enable the aggressive memory strategy of TCMalloc. The default value 0 indicates that the strategy is disabled. | |
setParameter.tcmallocReleaseRate | No | 1 | [1-10] | Unlimited | The rate at which TCMalloc releases memory to the operating system. A larger value indicates a faster memory release. | |
setParameter.transactionLifetimeLimitSeconds | No | 60 | [1-300] | Unlimited | The total timeout of the transaction, which indicates the lifecycle of the transaction. Unit: seconds. A transaction whose execution time exceeds this threshold is aborted to relieve the pressure on the WiredTiger cache. | |
storage.oplogMinRetentionHours | No | 0 | [0.00-720.00] | Unlimited | The retention period of oplog entries. The parameter value can be a floating-point number. Unit: hours. | |
storage.wiredTiger.collectionConfig.blockCompressor | Yes | snappy | [snappy|zlib|zstd|none] | Unlimited | The default storage compression algorithm of collection data. If you change the default algorithm, only all new collections use the specified new algorithm. To use another storage compression algorithm for another collection, run the | |
setParameter.minSnapshotHistoryWindowInSeconds | No | 300 | [0-600] | Unlimited | The window during which snapshot records in WiredTiger are retained. Unit: seconds. The value 0 indicates that the window is closed. | |
rsconf.chainingAllowed | No | true | [true|false] | Unlimited | Specifies whether to allow chained replication for the replica set instance. For example, data is replicated from the primary node to a secondary node and then to a hidden node or from the primary node to a hidden node and then to a secondary node. |
Sharded cluster (Shard)
Parameter Name | Restart required | Default value | Valid values | Minor version range | Description | Official documentation |
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.chunkMigrationConcurrency | No | 1 | [1-64] | Unlimited | The number of concurrent threads (concurrency) for chunk migration. | |
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 |
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 |