複本集
參數名稱 | 是否需要重啟生效 | 預設值 | 取值範圍 | 小版本範圍 | 說明 | 官方文檔 |
setParameter.internalDocumentSourceGroupMaxMemoryBytes | 否 | 104857600 | [10485760-10485760000] | 無限制 | 限制$group運算元所能使用的最大記憶體值,超過的部分會溢出到磁碟上。 | 未公開 |
setParameter.timeseriesBucketMaxCount | 是 | 1000 | [1-10000] | 無限制 | 時序集合單個bucket記憶體儲的最大度量資料個數。 | 未公開 |
setParameter.timeseriesIdleBucketExpiryMemoryUsageThreshold | 否 | 5 | [0-6710886400] | 無限制 | 時序集合空閑bucket被到期清理的記憶體佔用閾值,預設為系統可用記憶體的5%。 | 未公開 |
setParameter.timeseriesSideBucketCatalogMemoryUsageThreshold | 否 | 104857600 | [52428800-209715200] | 無限制 | 時序集合輔助桶(side bucket)目錄佔用記憶體閾值,預設100MB;超過後空閑桶將被到期處理。 | 未公開 |
setParameter.internalQueryMaxPushBytes | 否 | 104857600 | [10485760-1048576000] | 無限制 | 限制$push運算元所能使用的最大記憶體值。 | 未公開 |
setParameter.internalQueryMaxAddToSetBytes | 否 | 104857600 | [10485760-1048576000] | 無限制 | 限制$addToSet運算元所能使用的最大記憶體值。 | 未公開 |
setParameter.internalDocumentSourceCursorBatchSizeBytes | 否 | 4194304 | [1048576-104857600] | 無限制 | DocumentSourceCursor在管道處理之前從底層PlanExecutor緩衝的最巨量資料量。 | 未公開 |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | 否 | 104857600 | [33554432-268435456] | 無限制 | 查詢過程中阻塞排序階段能使用的最大記憶體值,單位為位元組;預設值摺合100MB。 | 未公開 |
setParameter.internalQueryCacheMaxEntriesPerCollection | 否 | 5000 | [0-5000] | 無限制 | 限制一個集合的查詢計劃緩衝的最大條目數。 說明 僅適用於經典查詢引擎而非SBE。 | 未公開 |
net.compression.compressors | 是 | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | 無限制 | 設定mongod或mongos的網路壓縮演算法。選擇多個壓縮演算法時,表示按優先順序降序。 | |
operationProfiling.mode | 是 | off | [off|slowOp|all] | 無限制 | 指定查詢分析器的層級。 說明 開啟該參數會導致執行個體效能退化,生產環境請謹慎開啟。 | |
operationProfiling.slowOpThresholdMs | 否 | 100 | [0-65536] | 無限制 | 慢操作時間閾值,已耗用時間超過此閾值的操作被認為是慢操作,單位為毫秒。 | |
replication.oplogGlobalIdEnabled | 是 | false | [true|false] | 無限制 | 是否開啟GID來支援DTS或mongoShake的雙向同步。 | 自研參數 |
replication.oplogSizeMB | 否 | 10% | [1024-1073741824] | 無限制 | oplog表的最大值,單位為MB。預設為磁碟規格大小的10%。 | |
rsconf.writeConcernMajorityJournalDefault | 否 | true | [true|false] | 無限制 | write concern為majority時是否要求journal已持久化。 | |
setParameter.cursorTimeoutMillis | 否 | 600000 | [1-2147483647] | 無限制 | 空閒遊標的到期閾值,單位為毫秒。 如果遊標的空閑時間超過該閾值,MongoDB將會刪除該遊標,再次嘗試訪問該遊標會報錯“cursor not found”。 | |
setParameter.flowControlTargetLagSeconds | 否 | 10 | [1-600] | 無限制 | flowControl機制觸發的閾值,單位為秒。flowControl的目的是為了確保大多數提交點不會落後太多。 | |
setParameter.maxTransactionLockRequestTimeoutMillis | 否 | 5 | [0-60] | 無限制 | 事務加鎖的逾時時間,單位為毫秒。 | |
setParameter.oplogFetcherUsesExhaust | 是 | true | [true|false] | 無限制 | 是否開啟流式複製,預設為true代表開啟。 | |
setParameter.replWriterThreadCount | 是 | 16 | [1-256] | 無限制 | 主從同步中並行複製的最大線程數。實際生效的最大線程數為規格CPU核心數的2倍。 | |
setParameter.tcmallocAggressiveMemoryDecommit | 否 | 0 | [0|1] | 無限制 | 是否開啟tcmalloc激進記憶體回收,0表示關閉。 說明 自MongoDB 8.0起,該參數預設情況下將無效,請優先考慮調整setParameter.tcmallocReleaseRate參數。 | |
setParameter.tcmallocReleaseRate | 否 | 10485760 | [0-549755813888] | 無限制 | 設定tcmalloc每秒釋放給OS的記憶體大小,單位為位元組。 | |
setParameter.transactionLifetimeLimitSeconds | 否 | 60 | [1-300] | 無限制 | 事務總逾時時間,代表了事務的生命週期,單位為秒。執行時間長度超過此限制的事務會被abort掉來緩解wt cache的壓力。 | |
storage.oplogMinRetentionHours | 否 | 0 | [0.00-720.00] | 無限制 | oplog表的保留時間長度,支援浮點數,單位為小時。 | |
storage.wiredTiger.collectionConfig.blockCompressor | 是 | snappy | [snappy|zlib|zstd|none] | 無限制 | 設定集合資料的儲存壓縮演算法(修改後僅對所有的建立表生效)。如果想針對不同的表使用不同的壓縮演算法,需要使用帶相關選項的顯式 | |
setParameter.minSnapshotHistoryWindowInSeconds | 否 | 300 | [0-600] | 無限制 | WT引擎保留快照(snapshot)歷史的視窗大小。單位為秒,0表示關閉快照歷史視窗。 | |
rsconf.chainingAllowed | 否 | true | [true|false] | 無限制 | 是否允許複本集中的鏈式複製。 例如:Primary複製到Secondary,再從Secondary複製到Hidden;或Primary複製到Hidden,再從Hidden複製到Secondary。 |
分區叢集(Shard)
參數名稱 | 是否需要重啟生效 | 預設值 | 取值範圍 | 小版本範圍 | 說明 | 官方文檔 |
setParameter.internalDocumentSourceGroupMaxMemoryBytes | 否 | 104857600 | [10485760-10485760000] | 無限制 | 限制$group運算元所能使用的最大記憶體值,超過的部分會溢出到磁碟上。 | 未公開 |
setParameter.timeseriesBucketMaxCount | 是 | 1000 | [1-10000] | 無限制 | 時序集合單個bucket記憶體儲的最大度量資料個數。 | 未公開 |
setParameter.timeseriesIdleBucketExpiryMemoryUsageThreshold | 否 | 5 | [0-6710886400] | 無限制 | 時序集合空閑bucket被到期清理的記憶體佔用閾值,預設為系統可用記憶體的5%。 | 未公開 |
setParameter.timeseriesSideBucketCatalogMemoryUsageThreshold | 否 | 104857600 | [52428800-209715200] | 無限制 | 時序集合輔助桶(side bucket)目錄佔用記憶體閾值,預設100MB;超過後空閑桶將被到期處理。 | 未公開 |
setParameter.internalQueryMaxPushBytes | 否 | 104857600 | [10485760-1048576000] | 無限制 | 限制$push運算元所能使用的最大記憶體值。 | 未公開 |
setParameter.internalQueryMaxAddToSetBytes | 否 | 104857600 | [10485760-1048576000] | 無限制 | 限制$addToSet運算元所能使用的最大記憶體值。 | 未公開 |
setParameter.internalDocumentSourceCursorBatchSizeBytes | 否 | 4194304 | [1048576-104857600] | 無限制 | DocumentSourceCursor在管道處理之前從底層PlanExecutor緩衝的最巨量資料量。 | 未公開 |
setParameter.internalQueryMaxBlockingSortMemoryUsageBytes | 否 | 104857600 | [33554432-268435456] | 無限制 | 查詢過程中阻塞排序階段能使用的最大記憶體值,單位為位元組;預設值摺合100MB。 | 未公開 |
setParameter.internalQueryCacheMaxEntriesPerCollection | 否 | 5000 | [0-5000] | 無限制 | 限制一個集合的查詢計劃緩衝的最大條目數。 說明 僅適用於經典查詢引擎而非SBE。 | 未公開 |
net.compression.compressors | 是 | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | 無限制 | 設定mongod或mongos的網路壓縮演算法。選擇多個壓縮演算法時,表示按優先順序降序。 | |
operationProfiling.mode | 是 | off | [off|slowOp|all] | 無限制 | 指定查詢分析器的層級。 說明 開啟該參數會導致執行個體效能退化,生產環境請謹慎開啟。 | |
operationProfiling.slowOpThresholdMs | 否 | 100 | [0-65536] | 無限制 | 慢操作時間閾值,已耗用時間超過此閾值的操作被認為是慢操作,單位為毫秒。 | |
replication.oplogGlobalIdEnabled | 是 | false | [true|false] | 無限制 | 是否開啟GID來支援DTS或mongoShake的雙向同步。 | 自研參數 |
replication.oplogSizeMB | 否 | 10% | [1024-1073741824] | 無限制 | oplog表的最大值,單位為MB。預設為磁碟規格大小的10%。 | |
rsconf.writeConcernMajorityJournalDefault | 否 | true | [true|false] | 無限制 | write concern為majority時是否要求journal已持久化。 | |
setParameter.cursorTimeoutMillis | 否 | 600000 | [1-2147483647] | 無限制 | 空閒遊標的到期閾值,單位為毫秒。 如果遊標的空閑時間超過該閾值,MongoDB將會刪除該遊標,再次嘗試訪問該遊標會報錯“cursor not found”。 | |
setParameter.flowControlTargetLagSeconds | 否 | 10 | [1-600] | 無限制 | flowControl機制觸發的閾值,單位為秒。flowControl的目的是為了確保大多數提交點不會落後太多。 | |
setParameter.maxTransactionLockRequestTimeoutMillis | 否 | 5 | [0-60] | 無限制 | 事務加鎖的逾時時間,單位為毫秒。 | |
setParameter.migrateCloneInsertionBatchSize | 否 | 0 | [0-1000] | 無限制 | chunk遷移時複製步驟中單個批次的最大文檔數量,預設0代表僅受到16MB文檔大小限制。 | |
setParameter.oplogFetcherUsesExhaust | 是 | true | [true|false] | 無限制 | 是否開啟流式複製,預設為true代表開啟。 | |
setParameter.rangeDeleterBatchDelayMS | 否 | 20 | [0-600000] | 無限制 | chunk遷移時清理步驟中大量刪除的間隔時間,單位為毫秒(也影響清理孤立文檔的 | |
setParameter.rangeDeleterBatchSize | 否 | 0 | [0-1000] | 無限制 | chunk遷移時清理步驟中批量非同步刪除單個批次的最大文檔數量,預設0代表自動選擇合理的批次大小,一般為128。 | |
setParameter.replWriterThreadCount | 是 | 16 | [1-256] | 無限制 | 主從同步中並行複製的最大線程數。實際生效的最大線程數為規格CPU核心數的2倍。 | |
setParameter.tcmallocAggressiveMemoryDecommit | 否 | 0 | [0|1] | 無限制 | 是否開啟tcmalloc激進記憶體回收,0表示關閉。 說明 自MongoDB 8.0起,該參數預設情況下將無效,請優先考慮調整setParameter.tcmallocReleaseRate參數。 | |
setParameter.tcmallocReleaseRate | 否 | 10485760 | [0-549755813888] | 無限制 | 設定tcmalloc每秒釋放給OS的記憶體大小,單位為位元組。 | |
setParameter.transactionLifetimeLimitSeconds | 否 | 60 | [1-300] | 無限制 | 事務總逾時時間,代表了事務的生命週期,單位為秒。執行時間長度超過此限制的事務會被abort掉來緩解wt cache的壓力。 | |
storage.oplogMinRetentionHours | 否 | 0 | [0.00-720.00] | 無限制 | oplog表的保留時間長度,支援浮點數,單位為小時。 | |
storage.wiredTiger.collectionConfig.blockCompressor | 是 | snappy | [snappy|zlib|zstd|none] | 無限制 | 設定集合資料的儲存壓縮演算法(修改後僅對所有的建立表生效)。如果想針對不同的表使用不同的壓縮演算法,需要使用帶相關選項的顯式 | |
setParameter.receiveChunkWaitForRangeDeleterTimeoutMS | 否 | 10000 | [10000-3600000] | 無限制 | Chunk遷移前,等待刪除孤立文檔的逾時時間,單位為毫秒。 | 未公開 |
setParameter.minSnapshotHistoryWindowInSeconds | 否 | 300 | [0-600] | 無限制 | WT引擎保留快照(snapshot)歷史的視窗大小。單位為秒,0表示關閉快照歷史視窗。 | |
rsconf.chainingAllowed | 否 | true | [true|false] | 無限制 | 是否允許Shard中的鏈式複製。 例如:Primary複製到Secondary,再從Secondary複製到Hidden;或Primary複製到Hidden,再從Hidden複製到Secondary。 |
分區叢集(Mongos)
參數名稱 | 是否需要重啟生效 | 預設值 | 取值範圍 | 小版本範圍 | 說明 | 官方文檔 |
setParameter.taskExecutorPoolSize | 是 | 1 | [1-32] | 基準版本8.0.13及以上 | mongos上TaskExecutor串連池的個數。 | |
setParameter.readHedgingMode | 否 | on | [on|off] | 無限制 | 是否開啟Hedged Reads支援。 | |
net.compression.compressors | 是 | snappy,zstd,zlib | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | 無限制 | 設定mongod或mongos的網路壓縮演算法。選擇多個壓縮演算法時,表示按優先順序降序。 | |
operationProfiling.slowOpThresholdMs | 否 | 100 | [0-65536] | 無限制 | 慢操作時間閾值,已耗用時間超過此閾值的操作被認為是慢操作,單位為毫秒。 | |
setParameter.cursorTimeoutMillis | 否 | 600000 | [1-2147483647] | 無限制 | 空閒遊標的到期閾值,單位為毫秒。如果遊標的空閑時間超過該閾值,MongoDB將會刪除該遊標,再次嘗試訪問該遊標會報錯“cursor not found”。 | |
setParameter.ShardingTaskExecutorPoolHostTimeoutMS | 否 | 300000 | [60000-3600000] | 無限制 | mongos放棄與主機TaskExecutor串連池所有串連的逾時時間。 | |
setParameter.ShardingTaskExecutorPoolMaxConnecting | 否 | 2 | [1-32] | 無限制 | 分區執行個體TaskExecutor串連池初始化串連時的最大並發度。用來控制mongos到mongod的串連建立速度。 | |
setParameter.ShardingTaskExecutorPoolMaxSize | 否 | 32767 | [1-32767] | 無限制 | 分區執行個體每個TaskExecutor串連池的最大串連數。 | |
setParameter.ShardingTaskExecutorPoolMinSize | 否 | 1 | [1-256] | 無限制 | 分區執行個體每個TaskExecutor串連池的最小串連數。 | |
setParameter.ShardingTaskExecutorPoolRefreshRequirementMS | 否 | 60000 | [30000-3600000] | 無限制 | mongos對TaskExecutor串連池中休眠串連進行心跳檢測的間隔時間。 | |
setParameter.ShardingTaskExecutorPoolRefreshTimeoutMS | 否 | 20000 | [5000-600000] | 無限制 | mongos等待心跳的逾時時間。 | |
setParameter.tcmallocAggressiveMemoryDecommit | 否 | 0 | [0|1] | 無限制 | 是否開啟tcmalloc激進記憶體回收,0表示關閉。 說明 自MongoDB 8.0起,該參數預設情況下將無效,請優先考慮調整setParameter.tcmallocReleaseRate參數。 | |
setParameter.tcmallocReleaseRate | 否 | 10485760 | [0-549755813888] | 無限制 | 設定tcmalloc每秒釋放給OS的記憶體大小,單位為位元組。 |
分區叢集(ConfigServer)
參數名稱 | 是否需要重啟生效 | 預設值 | 取值範圍 | 小版本範圍 | 說明 | 官方文檔 |
net.compression.compressors | 是 | [snappy|zlib|zstd|snappy,zstd,zlib|disabled] | 無限制 | 設定mongod或mongos的網路壓縮演算法。選擇多個壓縮演算法時,表示按優先順序降序。 | ||
operationProfiling.mode | 是 | off | [off|slowOp|all] | 無限制 | 指定查詢分析器的層級。 說明 開啟該參數會導致執行個體效能退化,生產環境請謹慎開啟。 | |
operationProfiling.slowOpThresholdMs | 否 | 100 | [0-65536] | 無限制 | 慢操作時間閾值,已耗用時間超過此閾值的操作被認為是慢操作,單位為毫秒。 | |
replication.oplogGlobalIdEnabled | 是 | false | [true|false] | 無限制 | 是否開啟GID來支援DTS或mongoShake的雙向同步。 | 自研參數 |
replication.oplogSizeMB | 否 | 10% | [1024-1073741824] | 無限制 | oplog表的最大值,單位為MB。預設為磁碟規格大小的10%。 | |
setParameter.cursorTimeoutMillis | 否 | 600000 | [1-2147483647] | 無限制 | 空閒遊標的到期閾值,單位為毫秒。如果遊標的空閑時間超過該閾值,MongoDB將會刪除該遊標,再次嘗試訪問該遊標會報錯“cursor not found”。 | |
setParameter.flowControlTargetLagSeconds | 否 | 10 | [1-600] | 無限制 | flowControl機制觸發的閾值,單位為秒。flowControl是為了確保大多數提交點不會落後太多。 | |
setParameter.maxTransactionLockRequestTimeoutMillis | 否 | 5 | [0-60] | 無限制 | 事務加鎖的逾時時間,單位為毫秒。 | |
setParameter.oplogFetcherUsesExhaust | 是 | true | [true|false] | 無限制 | 是否開啟流式複製,預設為true代表開啟。 | |
setParameter.replWriterThreadCount | 是 | 16 | [1-256] | 無限制 | 主從同步中並行複製的最大線程數。實際生效的最大線程數為規格CPU核心數的2倍。 | |
setParameter.tcmallocAggressiveMemoryDecommit | 否 | 0 | [0|1] | 無限制 | 是否開啟tcmalloc激進記憶體回收,0表示關閉。 說明 自MongoDB 8.0起,該參數預設情況下將無效,請優先考慮調整setParameter.tcmallocReleaseRate參數。 | |
setParameter.tcmallocReleaseRate | 否 | 10485760 | [0-549755813888] | 無限制 | 設定tcmalloc每秒釋放給OS的記憶體大小,單位為位元組。 | |
setParameter.transactionLifetimeLimitSeconds | 否 | 60 | [1-300] | 無限制 | 事務總逾時時間,代表了事務的生命週期,單位為秒。執行時間長度超過此限制的事務會被abort掉來緩解wt cache的壓力。 | |
storage.wiredTiger.collectionConfig.blockCompressor | 是 | snappy | [snappy|zlib|zstd|none] | 無限制 | 設定集合資料的儲存壓縮演算法(修改後僅對所有的建立表生效)。如果想針對不同的表使用不同的壓縮演算法,需要使用帶相關選項的顯式 |