QuotaConfig, Milvus 配額和限制的設定。
預設啟用
TT 保護;
記憶體保護。
磁碟配額保護。
您可以啟用
DML 吞吐量限制;
DDL, DQL qps/rps 限制;
DQL 佇列長度/延遲保護;
DQL 結果率保護;
必要時,您也可以手動強制拒絕 RW 請求。
quotaAndLimits.enabled
說明 |
預設值 |
`true` 表示啟用配額和限制,`false` 表示停用。 |
真 |
quotaAndLimits.quotaCenterCollectInterval
說明 |
預設值 |
quotaCenterCollectInterval 是 quotaCenter 從代理、查詢群集和資料群集收集度量的時間間隔。
從代理、查詢群集和資料群集收集度量資訊的時間間隔。
秒,(0 ~ 65536) |
3 |
quotaAndLimits.limits.allocRetryTimes
說明 |
預設值 |
從速率限制刪除分配轉送資料失敗時的重試次數 |
15 |
quotaAndLimits.limits.allocWaitInterval
說明 |
預設值 |
刪除速率限制中的分配轉送資料失敗時的重試等待時間,以毫秒為單位 |
1000 |
quotaAndLimits.limits.complexDeleteLimitEnable
說明 |
預設值 |
是否使用限制器複合刪除檢查前向資料 |
假 |
quotaAndLimits.limits.maxCollectionNumPerDB
說明 |
預設值 |
每個資料庫的最大集合數。 |
65536 |
quotaAndLimits.limits.maxInsertSize
說明 |
預設值 |
單次插入請求的最大大小,以位元組表示,-1 表示無限制 |
-1 |
quotaAndLimits.limits.maxResourceGroupNumOfQueryNode
說明 |
預設值 |
查詢節點資源群組的最大數目 |
1024 |
quotaAndLimits.limits.maxGroupSize
說明 |
預設值 |
以群組搜尋時,單一群組的最大大小 |
10 |
quotaAndLimits.ddl.enabled
quotaAndLimits.ddl.collectionRate
說明 |
預設值 |
每秒處理集合相關 DDL 請求的最大數目。
將此項目設定為 10 表示 Milvus 每秒處理不超過 10 個與集合相關的 DDL 請求,包括集合建立請求、集合刪除請求、集合載入請求,以及集合釋放請求。
若要使用此設定,請同時設定 quotaAndLimits.ddl.enabled 為 true。 |
-1 |
quotaAndLimits.ddl.partitionRate
說明 |
預設值 |
每秒與分割區相關的 DDL 請求的最大數目。
將此項目設定為 10 表示 Milvus 每秒處理的分割區相關請求不超過 10 個,包括分割區建立請求、分割區移除請求、分割區載入請求及分割區釋放請求。
若要使用此設定,請同時設定 quotaAndLimits.ddl.enabled 為 true。 |
-1 |
quotaAndLimits.ddl.db.collectionRate
說明 |
預設值 |
db 層級的 qps,預設無限制,用於 CreateCollection、DropCollection、LoadCollection、ReleaseCollection 的速率 |
-1 |
quotaAndLimits.ddl.db.partitionRate
說明 |
預設值 |
db 層級的 qps,預設無限制,CreatePartition、DropPartition、LoadPartition、ReleasePartition 的速率 |
-1 |
quotaAndLimits.indexRate.enabled
quotaAndLimits.indexRate.max
說明 |
預設值 |
每秒與索引相關的最大請求數。
將此項目設定為 10 表示 Milvus 每秒處理不超過 10 個分割區相關的請求,包括索引建立請求和索引丟棄請求。
若要使用此設定,請同時設定 quotaAndLimits.indexRate.enabled 為 true。 |
-1 |
quotaAndLimits.indexRate.db.max
說明 |
預設值 |
db 層級的 qps,預設無限制,CreateIndex、DropIndex 的速率 |
-1 |
quotaAndLimits.flushRate.enabled
quotaAndLimits.flushRate.max
說明 |
預設值 |
每秒刷新請求的最大數目。
將此項目設定為 10 表示 Milvus 每秒處理的刷新請求不超過 10 個。
若要使用此設定,請同時設定 quotaAndLimits.flushRate.enabled 為 true。 |
-1 |
quotaAndLimits.flushRate.collection.max
說明 |
預設值 |
qps,預設無限制,在集合層級的刷新率。 |
0.1 |
quotaAndLimits.flushRate.db.max
說明 |
預設值 |
db 層級的 qps,預設無限制,用於沖洗的速率 |
-1 |
quotaAndLimits.compactionRate.enabled
quotaAndLimits.compactionRate.max
說明 |
預設值 |
每秒手動壓縮請求的最大數目。
將此項目設定為 10 表示 Milvus 每秒處理的手動壓縮請求不超過 10 個。
若要使用此設定,請同時設定 quotaAndLimits.compaction.enabled 為 true。 |
-1 |
quotaAndLimits.compactionRate.db.max
說明 |
預設值 |
db 層級的 qps,預設無限制,手動壓縮的速率 |
-1 |
quotaAndLimits.dml.enabled
quotaAndLimits.dml.insertRate.max
說明 |
預設值 |
每秒最高資料插入速率。
將此項目設定為 5 表示 Milvus 只允許以每秒 5 MB 的速率插入資料。
若要使用此設定,請同時設定 quotaAndLimits.dml.enabled 為 true。 |
-1 |
quotaAndLimits.dml.insertRate.db.max
quotaAndLimits.dml.insertRate.collection.max
說明 |
預設值 |
每秒每個資料集的最高資料插入速率。
將此項目設定為 5 表示 Milvus 只允許以每秒 5 MB 的速率插入資料到任何資料集中。
若要使用此設定,請同時設定 quotaAndLimits.dml.enabled 為 true。 |
-1 |
quotaAndLimits.dml.insertRate.partition.max
quotaAndLimits.dml.upsertRate.max
quotaAndLimits.dml.upsertRate.db.max
quotaAndLimits.dml.upsertRate.collection.max
quotaAndLimits.dml.upsertRate.partition.max
quotaAndLimits.dml.deleteRate.max
說明 |
預設值 |
每秒最高資料刪除速率。
將此項目設定為 0.1 表示 Milvus 只允許以每秒 0.1 MB 的速率刪除資料。
若要使用此設定,請同時設定 quotaAndLimits.dml.enabled 為 true。 |
-1 |
quotaAndLimits.dml.deleteRate.db.max
quotaAndLimits.dml.deleteRate.collection.max
說明 |
預設值 |
每秒最高資料刪除速率。
將此項目設定為 0.1 表示 Milvus 只允許從任何資料集中以每秒 0.1 MB 的速率刪除資料。
若要使用此設定,請同時設定 quotaAndLimits.dml.enabled 為 true。 |
-1 |
quotaAndLimits.dml.deleteRate.partition.max
quotaAndLimits.dml.bulkLoadRate.max
說明 |
預設值 |
MB/s,預設無限制,尚未支援。TODO: 限制 bulkLoad 速率 |
-1 |
quotaAndLimits.dml.bulkLoadRate.db.max
說明 |
預設值 |
MB/s, 預設無限制,尚未支援。TODO: limit db bulkLoad rate |
-1 |
quotaAndLimits.dml.bulkLoadRate.collection.max
說明 |
預設值 |
MB/s, 預設無限制,尚未支援。TODO: 限制 collection bulkLoad rate |
-1 |
quotaAndLimits.dml.bulkLoadRate.partition.max
說明 |
預設值 |
MB/s, 預設無限制,尚未支援。TODO: 限制分割區的大量載入速率 |
-1 |
quotaAndLimits.dql.enabled
quotaAndLimits.dql.searchRate.max
說明 |
預設值 |
每秒搜尋向量的最大數量。
將此項目設定為 100 表示 Milvus 每秒只允許搜尋 100 個向量,不論這 100 個向量是全部在一次搜尋中,或是分散在多次搜尋中。
若要使用此設定,請同時設定 quotaAndLimits.dql.enabled 為 true。 |
-1 |
quotaAndLimits.dql.searchRate.db.max
說明 |
預設值 |
vps(每秒向量數量),預設無限制 |
-1 |
quotaAndLimits.dql.searchRate.collection.max
說明 |
預設值 |
每秒每個集合搜尋的向量數量上限。
將此項目設定為 100 表示 Milvus 每秒只允許每個集合搜尋 100 個向量,不論這 100 個向量是全部在一次搜尋中,或是分散在多次搜尋中。
若要使用此設定,請同時設定 quotaAndLimits.dql.enabled 為 true。 |
-1 |
quotaAndLimits.dql.searchRate.partition.max
說明 |
預設值 |
vps(每秒向量數量),預設無限制 |
-1 |
quotaAndLimits.dql.queryRate.max
說明 |
預設值 |
每秒最大查詢次數。
將此項目設定為 100 表示 Milvus 每秒只允許 100 次查詢。
若要使用此設定,請同時設定 quotaAndLimits.dql.enabled 為 true。 |
-1 |
quotaAndLimits.dql.queryRate.db.max
quotaAndLimits.dql.queryRate.collection.max
說明 |
預設值 |
每秒每個集合的最大查詢次數。
將此項目設定為 100 表示 Milvus 每秒只允許針對每個集合進行 100 次查詢。
若要使用此設定,請同時設定 quotaAndLimits.dql.enabled 為 true。 |
-1 |
quotaAndLimits.dql.queryRate.partition.max
quotaAndLimits.limitWriting.forceDeny
說明 |
預設值 |
forceDeny false 表示允許 dml 請求 (除了某些特定的條件,例如
特定條件,例如記憶體節點到水標記),true 表示永遠拒絕所有 dml 請求。 |
false |
quotaAndLimits.limitWriting.ttProtection.maxTimeTickDelay
說明 |
預設值 |
maxTimeTickDelay 表示 DML 作業的背壓。
DML 速率會根據 time tick delay 與 maxTimeTickDelay 的比率降低、
如果 time tick delay 大於 maxTimeTickDelay,所有 DML 請求都會被拒絕。
秒 |
300 |
quotaAndLimits.limitWriting.memProtection.enabled
說明 |
預設值 |
當記憶體使用量 > memoryHighWaterLevel 時,所有 DML 請求都會被拒絕;
當 memoryLowWaterLevel < 記憶體使用量 < memoryHighWaterLevel 時,降低 dml 速率;
當記憶體使用量 < memoryLowWaterLevel 時,不採取任何動作。 |
真 |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryLowWaterLevel
說明 |
預設值 |
(0,1],資料節點中的 memoryLowWaterLevel |
0.85 |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryHighWaterLevel
說明 |
預設值 |
(0,1]、數據節點中的記憶體高水位值 |
0.95 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryLowWaterLevel
說明 |
預設值 |
(0,1],查詢節點中的記憶體低水準 |
0.85 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryHighWaterLevel
說明 |
預設值 |
(0,1]、查詢節點中的記憶體高水位值 |
0.95 |
quotaAndLimits.limitWriting.growingSegmentsSizeProtection.enabled
說明 |
預設值 |
如果成長中的區段大小小於低水準,則不會採取任何動作。
如果成長中的區段大小超過低水準,dml 的速率會降低、
但速率不會低於 minRateRatio * dmlRate。 |
假 |
quotaAndLimits.limitWriting.diskProtection.enabled
說明 |
預設值 |
當物件儲存的檔案總大小大於 `diskQuota` 時,所有的 dml 請求都會被拒絕; |
真 |
quotaAndLimits.limitWriting.diskProtection.diskQuota
說明 |
預設值 |
MB,(0, +inf),預設無限制 |
-1 |
quotaAndLimits.limitWriting.diskProtection.diskQuotaPerDB
說明 |
預設值 |
MB,(0,+inf),預設無限制 |
-1 |
quotaAndLimits.limitWriting.diskProtection.diskQuotaPerCollection
說明 |
預設值 |
MB,(0,+inf),預設無限制 |
-1 |
quotaAndLimits.limitWriting.diskProtection.diskQuotaPerPartition
說明 |
預設值 |
MB,(0,+inf),預設無限制 |
-1 |
quotaAndLimits.limitWriting.l0SegmentsRowCountProtection.enabled
quotaAndLimits.limitWriting.l0SegmentsRowCountProtection.lowWaterLevel
說明 |
預設值 |
l0 區段行數配額,低水位 |
30000000 |
quotaAndLimits.limitWriting.l0SegmentsRowCountProtection.highWaterLevel
說明 |
預設值 |
l0 區段行數配額,高水位 |
50000000 |
quotaAndLimits.limitWriting.deleteBufferRowCountProtection.enabled
quotaAndLimits.limitWriting.deleteBufferRowCountProtection.lowWaterLevel
說明 |
預設值 |
刪除緩衝區行數配額,低水位 |
32768 |
quotaAndLimits.limitWriting.deleteBufferRowCountProtection.highWaterLevel
說明 |
預設值 |
刪除緩衝區行數配額,高水位 |
65536 |
quotaAndLimits.limitWriting.deleteBufferSizeProtection.enabled
quotaAndLimits.limitWriting.deleteBufferSizeProtection.lowWaterLevel
說明 |
預設值 |
刪除緩衝區大小配額,低水位 |
134217728 |
quotaAndLimits.limitWriting.deleteBufferSizeProtection.highWaterLevel
說明 |
預設值 |
刪除緩衝區大小配額,高水位 |
268435456 |
quotaAndLimits.limitReading.forceDeny
說明 |
預設值 |
forceDeny false 表示允許 dql 請求 (除了某些特定情況,例如
true表示永遠拒絕所有 dql 請求。 |
false |