平衡查询负载
本主题介绍如何在 Milvus 中平衡查询负载。
Milvus 默认支持自动负载平衡。您可以配置 Milvus 来启用或禁用自动负载平衡。通过指定 queryCoord.balanceIntervalSeconds
、queryCoord.overloadedMemoryThresholdPercentage
和 queryCoord.memoryUsageMaxDifferencePercentage
,您可以更改触发自动负载平衡的阈值。
如果禁用了自动负载平衡,您仍然可以手动平衡负载。
检查 segment 信息
获取您期望传输的密封 segment 的 segmentID
和您期望将 segment 传输到的查询节点的 nodeID
。
from pymilvus import utility
utility.get_query_segment_info("book")
// This function is under active development on the GO client.
milvusClient.getQuerySegmentInfo(
GetQuerySegmentInfoParam.newBuilder()
.withCollectionName("book")
.build()
);
await getQuerySegmentInfo({
collectionName: "book",
});
show query_segment -c book
参数 | 描述 |
---|---|
collection_name | 要检查 segment 信息的 collection 名称。 |
参数 | 描述 |
---|---|
collectionName | 要检查 segment 信息的 collection 名称。 |
参数 | 描述 |
---|---|
CollectionName | 要检查 segment 信息的 collection 名称。 |
选项 | 描述 |
---|---|
-c | 要检查 segment 信息的 collection 名称。 |
传输 segment
使用当前查询节点和新查询节点的 segmentID
和 nodeID
传输密封的 segment。
utility.load_balance(
src_node_id=3,
dst_node_ids=[4],
sealed_segment_ids=[431067441441538050]
)
// This function is under active development on the GO client.
milvusClient.loadBalance(
LoadBalanceParam.newBuilder()
.withSourceNodeID(3L)
.addDestinationNodeID(4L)
.addSegmentID(431067441441538050L)
.build()
);
await loadBalance({
src_nodeID: 3,
dst_nodeIDs: [4],
sealed_segmentIDs: [431067441441538050]
});
load_balance -s 3 -d 4 -ss 431067441441538050
参数 | 描述 |
---|---|
src_node_id | 您要从中传输 segment 的查询节点的 ID。 |
dst_node_ids (可选) | 您要将 segment 传输到的查询节点的 ID。如果此参数留空,Milvus 会自动将 segment 传输到其他查询节点。 |
sealed_segment_ids (可选) | 您要传输的 segment 的 ID。如果此参数留空,Milvus 会自动将源查询节点中的所有密封 segment 传输到其他查询节点。 |
参数 | 描述 |
---|---|
src_nodeID | 您要从中传输 segment 的查询节点的 ID。 |
dst_nodeIDs (可选) | 您要将 segment 传输到的查询节点的 ID。如果此参数留空,Milvus 会自动将 segment 传输到其他查询节点。 |
sealed_segmentIDs (可选) | 您要传输的 segment 的 ID。如果此参数留空,Milvus 会自动将源查询节点中的所有密封 segment 传输到其他查询节点。 |
参数 | 描述 |
---|---|
SourceNodeID | 您要从中传输 segment 的查询节点的 ID。 |
DestinationNodeID (可选) | 您要将 segment 传输到的查询节点的 ID。如果此参数留空,Milvus 会自动将 segment 传输到其他查询节点。 |
SegmentID (可选) | 您要传输的 segment 的 ID。如果此参数留空,Milvus 会自动将源查询节点中的所有密封 segment 传输到其他查询节点。 |
选项 | 描述 |
---|---|
-s | 您要从中传输 segment 的查询节点的 ID。 |
-d (多个) | 您要将 segment 传输到的查询节点的 ID。 |
-ss (多个) | 您要传输的 segment 的 ID。 |