밀버스 쿼터 및 제한을 구성하는 QuotaConfig.
기본적으로 활성화되어 있습니다:
TT 보호;
메모리 보호.
디스크 할당량 보호.
활성화할 수 있습니다:
DML 처리량 제한;
DDL, DQL qps/rps 제한;
DQL 대기열 길이/대기 시간 보호;
DQL 결과 속도 보호;
필요한 경우 수동으로 RW 요청을 강제로 거부할 수도 있습니다.
quotaAndLimits.enabled
설명 |
기본값 |
할당량 및 제한을 활성화하려면 'true', 비활성화하려면 'false'입니다. |
true |
quotaAndLimits.quotaCenterCollectInterval
설명 |
기본값 |
쿼터 센터 수집 간격은 쿼터 센터가
가 프록시, 쿼리 클러스터 및 데이터 클러스터에서 메트릭을 수집하는 시간 간격입니다.
초, (0 ~ 65536) |
3 |
quotaAndLimits.limits.allocRetryTimes
설명 |
기본값 |
속도 제한에서 순방향 데이터 할당 삭제가 실패한 경우 재시도 시간 |
15 |
quotaAndLimits.limits.allocWaitInterval
설명 |
기본값 |
순방향 데이터 전송률 할당 삭제 실패 시 재시도 대기 기간(밀리초) |
1000 |
quotaAndLimits.limits.complexDeleteLimitEnable
설명 |
기본값 |
리미터에 의한 복합 삭제 체크 포워드 데이터 삭제 여부 |
false |
quotaAndLimits.limits.maxCollectionNumPerDB
설명 |
기본값 |
데이터베이스당 최대 컬렉션 수입니다. |
65536 |
quotaAndLimits.limits.maxInsertSize
설명 |
기본값 |
단일 삽입 요청의 최대 크기(바이트 단위), -1은 제한이 없음을 의미합니다. |
-1 |
quotaAndLimits.limits.maxResourceGroupNumOfQueryNode
설명 |
기본값 |
쿼리 노드의 최대 리소스 그룹 수 |
1024 |
quotaAndLimits.ddl.enabled
설명 |
기본값 |
DDL 요청 스로틀링을 사용할지 여부입니다. |
false |
quotaAndLimits.ddl.collectionRate
설명 |
기본값 |
초당 최대 컬렉션 관련 DDL 요청 수입니다.
이 항목을 10으로 설정하면 Milvus가 컬렉션 생성 요청, 컬렉션 삭제 요청, 컬렉션 로드 요청, 컬렉션 릴리스 요청을 포함하여 초당 컬렉션 관련 DDL 요청을 10개 이하로 처리함을 나타냅니다.
이 설정을 사용하려면 quotaAndLimits.ddl.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.ddl.partitionRate
설명 |
기본값 |
초당 파티션 관련 DDL 요청의 최대 수입니다.
이 항목을 10으로 설정하면 Milvus는 파티션 생성 요청, 파티션 삭제 요청, 파티션 로드 요청, 파티션 해제 요청을 포함하여 초당 10건 이하의 파티션 관련 요청을 처리합니다.
이 설정을 사용하려면 quotaAndLimits.ddl.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.ddl.db.collectionRate
설명 |
기본값 |
DB 수준의 쿼터, 기본값 제한 없음, CreateCollection, DropCollection, LoadCollection, ReleaseCollection의 속도 |
-1 |
quotaAndLimits.ddl.db.partitionRate
설명 |
기본값 |
db 수준의 qps, 기본값은 제한 없음, CreatePartition, DropPartition, LoadPartition, ReleasePartition의 속도 |
-1 |
quotaAndLimits.indexRate.enabled
설명 |
기본값 |
인덱스 관련 요청 스로틀링을 사용할지 여부입니다. |
false |
quotaAndLimits.indexRate.max
설명 |
기본값 |
초당 최대 인덱스 관련 요청 수입니다.
이 항목을 10으로 설정하면 Milvus가 인덱스 생성 요청 및 인덱스 삭제 요청을 포함하여 초당 10개를 초과하지 않는 파티션 관련 요청을 처리한다는 의미입니다.
이 설정을 사용하려면 quotaAndLimits.indexRate.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.indexRate.db.max
설명 |
기본값 |
DB 수준의 쿼터, 기본값은 제한 없음, CreateIndex, DropIndex의 속도 |
-1 |
quotaAndLimits.flushRate.enabled
설명 |
기본값 |
플러시 요청 스로틀링을 사용할지 여부입니다. |
true |
quotaAndLimits.flushRate.max
설명 |
기본값 |
초당 최대 플러시 요청 수입니다.
이 항목을 10으로 설정하면 Milvus가 초당 10건 이하의 플러시 요청을 처리합니다.
이 설정을 사용하려면 quotaAndLimits.flushRate.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.flushRate.collection.max
설명 |
기본값 |
쿼터, 기본값 제한 없음, 수집 수준에서 플러시 속도. |
0.1 |
quotaAndLimits.flushRate.db.max
설명 |
기본값 |
DB 수준의 QPS, 기본값 제한 없음, 플러시 속도 |
-1 |
quotaAndLimits.compactionRate.enabled
설명 |
기본값 |
수동 압축 요청 스로틀링을 사용할지 여부입니다. |
false |
quotaAndLimits.compactionRate.max
설명 |
기본값 |
초당 최대 수동 압축 요청 수입니다.
이 항목을 10으로 설정하면 Milvus가 초당 수동 압축 요청을 10건 이하로 처리합니다.
이 설정을 사용하려면 quotaAndLimits.compaction.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.compactionRate.db.max
설명 |
기본값 |
DB 수준의 쿼터, 기본값은 제한 없음, 수동 압축의 속도 |
-1 |
quotaAndLimits.dml.enabled
설명 |
기본값 |
DML 요청 스로틀링 사용 여부입니다. |
false |
quotaAndLimits.dml.insertRate.max
설명 |
기본값 |
초당 최고 데이터 삽입 속도.
이 항목을 5로 설정하면 Milvus에서 5MB/s의 속도로만 데이터 삽입을 허용합니다.
이 설정을 사용하려면 quotaAndLimits.dml.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.dml.insertRate.db.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.insertRate.collection.max
설명 |
기본값 |
초당 컬렉션당 최고 데이터 삽입 속도입니다.
이 항목을 5로 설정하면 Milvus가 모든 컬렉션에 5MB/s의 속도로만 데이터 삽입을 허용합니다.
이 설정을 사용하려면 quotaAndLimits.dml.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.dml.insertRate.partition.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.upsertRate.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.upsertRate.db.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.upsertRate.collection.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.upsertRate.partition.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.deleteRate.max
설명 |
기본값 |
초당 최고 데이터 삭제 속도입니다.
이 항목을 0.1로 설정하면 Milvus에서 0.1MB/s의 속도로만 데이터 삭제를 허용합니다.
이 설정을 사용하려면 quotaAndLimits.dml.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.dml.deleteRate.db.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.deleteRate.collection.max
설명 |
기본값 |
초당 최고 데이터 삭제 속도입니다.
이 항목을 0.1로 설정하면 Milvus가 모든 컬렉션에서 0.1MB/s의 속도로만 데이터 삭제를 허용합니다.
이 설정을 사용하려면 quotaAndLimits.dml.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.dml.deleteRate.partition.max
설명 |
기본값 |
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.dml.bulkLoadRate.max
설명 |
기본값 |
MB/s, 기본값 제한 없음, 아직 지원되지 않음. 할 일: 벌크로드 속도 제한 |
-1 |
quotaAndLimits.dml.bulkLoadRate.db.max
설명 |
기본값 |
MB/s, 기본값은 제한 없음, 아직 지원되지 않음. TODO: db bulkLoad 속도 제한 |
-1 |
quotaAndLimits.dml.bulkLoadRate.collection.max
설명 |
기본값 |
MB/s, 기본값은 제한 없음, 아직 지원되지 않음. 할 일: 수집 벌크로드 속도 제한 |
-1 |
quotaAndLimits.dml.bulkLoadRate.partition.max
설명 |
기본값 |
MB/s, 기본값은 제한 없음, 아직 지원되지 않음. 할 일: 파티션 벌크로드 속도 제한 |
-1 |
quotaAndLimits.dql.enabled
설명 |
기본값 |
DQL 요청 스로틀링 사용 여부입니다. |
false |
quotaAndLimits.dql.searchRate.max
설명 |
기본값 |
초당 검색할 수 있는 최대 벡터 수입니다.
이 항목을 100으로 설정하면 이 100개의 벡터가 모두 한 검색에 포함되거나 여러 검색에 흩어져 있든 상관없이 Milvus에서 초당 100개의 벡터만 검색할 수 있습니다.
이 설정을 사용하려면 quotaAndLimits.dql.enabled를 동시에 true로 설정하세요. |
-1 |
quotaAndLimits.dql.searchRate.db.max
설명 |
기본값 |
VPS(초당 벡터 수), 기본값 제한 없음 |
-1 |
quotaAndLimits.dql.searchRate.collection.max
설명 |
기본값 |
컬렉션당 초당 검색할 수 있는 최대 벡터 수입니다.
이 항목을 100으로 설정하면 이 100개의 벡터가 모두 한 검색에 포함되든 여러 검색에 흩어져 있든 상관없이 Milvus가 컬렉션당 초당 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
설명 |
기본값 |
최대 타임 틱 지연은 DML 작업의 역압을 나타냅니다.
시간 틱 지연과 최대 시간 틱 지연의 비율에 따라 DML 속도가 감소합니다,
시간 틱 지연이 최대 시간 틱 지연보다 크면 모든 DML 요청이 거부됩니다.
초 |
300 |
quotaAndLimits.limitWriting.memProtection.enabled
설명 |
기본값 |
메모리 사용량 > memoryHighWaterLevel일 경우 모든 DML 요청이 거부됩니다;
memoryLowWaterLevel < 메모리 사용량 < memoryHighWaterLevel일 경우, dml 속도를 줄입니다;
메모리 사용량이 memoryLowWaterLevel <이면 아무 조치도 취하지 않습니다. |
true |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryLowWaterLevel
설명 |
기본값 |
(0, 1], 데이터 노드의 memoryLowWaterLevel |
0.85 |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryHighWaterLevel
설명 |
기본값 |
(0, 1], DataNodes의 memoryHighWaterLevel |
0.95 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryLowWaterLevel
설명 |
기본값 |
(0, 1], QueryNodes의 memoryLowWaterLevel |
0.85 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryHighWaterLevel
설명 |
기본값 |
(0, 1], QueryNodes의 memoryHighWaterLevel |
0.95 |
quotaAndLimits.limitWriting.growingSegmentsSizeProtection.enabled
설명 |
기본값 |
증가하는 세그먼트 크기가 낮은 워터마크보다 작으면 아무 조치도 취하지 않습니다.
증가하는 세그먼트 크기가 낮은 워터마크를 초과하면 dml 속도가 감소합니다,
하지만 이 비율은 최소 비율 * dml 비율보다 낮지 않습니다. |
false |
quotaAndLimits.limitWriting.diskProtection.enabled
설명 |
기본값 |
오브젝트 스토리지의 총 파일 크기가 `디스크 쿼터`보다 크면 모든 dml 요청이 거부됩니다; |
true |
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
설명 |
기본값 |
L0 세그먼트 행 수 할당량 활성화 스위치 |
false |
quotaAndLimits.limitWriting.l0SegmentsRowCountProtection.lowWaterLevel
설명 |
기본값 |
L0 세그먼트 행 수 할당량, 저수위 |
32768 |
quotaAndLimits.limitWriting.l0SegmentsRowCountProtection.highWaterLevel
설명 |
기본값 |
L0 세그먼트 행 수 할당량, 낮은 수위 |
65536 |
quotaAndLimits.limitReading.forceDeny
설명 |
기본값 |
forceDeny false는 dql 요청이 허용됨을 의미하며(일부 특정 조건 제외
특정 조건 제외), true는 항상 모든 dql 요청을 거부함을 의미합니다. |
false |
quotaAndLimits.limitReading.queueProtection.nqInQueueThreshold
설명 |
기본값 |
nqInQueueThreshold는 시스템이 검색/쿼리 경로에 대해 백압을 받고 있음을 나타냅니다.
어떤 쿼리 노드의 큐에 있는 NQ가 nqInQueueThreshold보다 크면, 검색 및 쿼리 속도가 서서히 낮아집니다.
대기열의 NQ가 더 이상 nqInQueueThreshold를 초과하지 않을 때까지 서서히 냉각됩니다. 쿼리 요청의 NQ를 1로 간주합니다.
int, 기본값 제한 없음 |
-1 |
quotaAndLimits.limitReading.queueProtection.queueLatencyThreshold
설명 |
기본값 |
queueLatencyThreshold는 시스템이 검색/쿼리 경로에 대한 역압박을 받고 있음을 나타냅니다.
큐 큐잉 대기 시간이 queueLatencyThreshold보다 큰 경우, 검색 및 쿼리 속도가 점차적으로 냉각됩니다.
대기 시간이 더 이상 queueLatencyThreshold를 초과하지 않을 때까지 검색 및 쿼리 속도가 점차 낮아집니다.
여기서 지연 시간은 일정 기간 동안의 평균 지연 시간을 의미합니다.
밀리초, 기본값은 제한 없음 |
-1 |
quotaAndLimits.limitReading.resultProtection.maxReadResultRate
설명 |
기본값 |
maxReadResultRate는 시스템이 검색/쿼리 경로에 대해 백압을 받고 있음을 나타냅니다.
dql 결과 속도가 maxReadResultRate보다 큰 경우, 검색 및 쿼리 속도가 점차적으로 낮아집니다.
읽기 결과 속도가 더 이상 maxReadResultRate를 초과하지 않을 때까지 서서히 냉각됩니다.
MB/s, 기본값 제한 없음 |
-1 |
quotaAndLimits.limitReading.coolOffSpeed
설명 |
기본값 |
colOffSpeed는 검색 및 쿼리 속도가 냉각되는 속도입니다.
(0, 1] |
0.9 |