限制收藏集數量
一個 Milvus 實例最多允許 65,536 個集合。但是,過多的收藏集可能會導致性能問題。因此,建議限制在 Milvus 實例中建立的收藏集數量。
本指南說明如何設定 Milvus 範例中的收藏集數量限制。
設定會因您安裝 Milvus 實例的方式而異。
對於使用 Helm Charts 安裝的 Milvus 實例
將設定加入
values.yaml
檔案的config
部分。詳情請參閱使用 Helm Charts 設定 Milvus。對於使用 Docker Compose 安裝的 Milvus 實體
將配置新增到您用來啟動 Milvus 實例的
milvus.yaml
檔案。如需詳細資訊,請參閱使用 Docker Compose 配置 Milvus。對於使用 Operator 安裝的 Milvus 實例
將配置新增到
Milvus
自訂資源的spec.components
區段。如需詳細資訊,請參閱使用 Operator 配置 Milvus。
組態選項
rootCoord:
maxGeneralCapacity: 65536
maxGeneralCapacity
參數設定目前 Milvus 實體可持有的最大集合數量。預設值為65536
。
計算收藏集數量
在一個集合中,您可以設定多個分片和分區。分片是用於在多個資料節點之間分配資料寫入作業的邏輯單位。分區是邏輯單位,用於透過僅載入集合資料的子集來提高資料擷取效率。計算當前 Milvus 實例中的集合數量時,您還需要計算分片和分區。
例如,假設您已經建立了100 個集合,其中60 個集合有2個分塊和4 個分區,其餘40 個集合有1個分塊和12 個分區。集合單元的總數(計算方式為shards × partitions
)可如下確定:
60 (collections) x 2 (shards) x 4 (partitions) + 40 (collections) x 1 (shard) x 12 (partitions) = 960
在此範例中,計算出的 960 個集合單位總數代表目前的使用量。maxGeneralCapacity
定義了實體可支援的最大集合單位數量,預設值為65536
。這表示該實體最多可容納 65,536 個收集單元。如果總數超過此限制,系統會顯示以下錯誤訊息:
failed checking constraint: sum_collections(parition*shard) exceeding the max general capacity:
若要避免此錯誤訊息,您可以減少現有或新集合中的分片或分割數量、刪除某些集合,或增加maxGeneralCapacity
值。