QuotaConfigはMilvusのクォータとリミットの設定です。
デフォルトでは
TT保護
メモリ保護.
ディスククォータ保護。
有効にすることができます:
DMLスループット制限;
DDL、DQL qps/rps制限;
DQLキュー長/待ち時間の保護;
DQL結果レートの保護;
必要に応じて、手動でRW要求を強制的に拒否することもできます。
quotaAndLimits.enabled
説明 |
デフォルト値 |
true`でクォータと制限を有効にし、`false`で無効にする。 |
true |
quotaAndLimits.quotaCenterCollectInterval
説明 |
デフォルト値 |
quotaCenterCollectInterval は quotaCenter がプロキシ、クエリクラスタ、およびデータクラスタからメトリクスを収集する時間間隔です。
がプロキシ、クエリ・クラスタ、およびデータ・クラスタからメトリクスを収集する時間間隔です。
秒, (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
説明 |
デフォルト値 |
1秒あたりのコレクション関連DDL要求の最大数。
この項目を10に設定すると、Milvusはコレクション作成要求、コレクション削除要求、コレクションロード要求、およびコレクション解放要求を含む、1秒あたり10を超えるコレクション関連DDL要求を処理しないことを示します。
この設定を使用するには、同時にquotaAndLimits.ddl.enabledをtrueに設定してください。 |
-1 |
quotaAndLimits.ddl.partitionRate
説明 |
デフォルト値 |
1秒あたりのパーティション関連DDL要求の最大数。
この項目を10に設定すると、Milvusはパーティション作成要求、パーティション削除要求、パーティションロード要求、およびパーティション解放要求を含め、1秒あたり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
説明 |
デフォルト値 |
インデックス関連の要求スロットルを有効にするかどうか。 |
false |
quotaAndLimits.indexRate.max
説明 |
デフォルト値 |
1秒あたりのインデックス関連要求の最大数。
この項目を10に設定すると、Milvusはインデックス作成要求とインデックス削除要求を含め、1秒あたり10を超えるパーティション関連要求を処理しないことを示します。
この設定を使用するには、同時にquotaAndLimits.indexRate.enabledをtrueに設定します。 |
-1 |
quotaAndLimits.indexRate.db.max
説明 |
デフォルト値 |
dbレベルのqps、デフォルトでは制限なし、CreateIndex、DropIndexのレート |
-1 |
quotaAndLimits.flushRate.enabled
説明 |
デフォルト値 |
フラッシュ要求のスロットルを有効にするかどうか。 |
true |
quotaAndLimits.flushRate.max
説明 |
デフォルト値 |
1秒あたりの最大フラッシュ要求数。
この項目を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
説明 |
デフォルト値 |
手動による圧縮要求のスロットリングを有効にするかどうか。 |
false |
quotaAndLimits.compactionRate.max
説明 |
デフォルト値 |
1秒あたりの手動コンパクション要求の最大数。
この項目を10に設定すると、Milvusは毎秒10回を超える手動コンパクション要求を処理しません。
この設定を使用するには、同時にquotaAndLimits.compaction.enabledをtrueに設定します。 |
-1 |
quotaAndLimits.compactionRate.db.max
説明 |
デフォルト値 |
dbレベルのqps、デフォルトは制限なし、manualCompactionのレート |
-1 |
quotaAndLimits.dml.enabled
説明 |
デフォルト値 |
DML リクエスト・スロットルを有効にするかどうか。 |
false |
quotaAndLimits.dml.insertRate.max
説明 |
デフォルト値 |
1秒あたりの最高データ挿入レート。
この項目を5に設定すると、Milvusは5MB/秒の速度でのみデータ挿入を許可します。
この設定を使用するには、同時にquotaAndLimits.dml.enabledをtrueに設定してください。 |
-1 |
quotaAndLimits.dml.insertRate.db.max
説明 |
デフォルト値 |
MB/s, デフォルト制限なし |
-1 |
quotaAndLimits.dml.insertRate.collection.max
説明 |
デフォルト値 |
1秒あたりのコレクションあたりの最高データ挿入レート。
この項目を5に設定すると、Milvusは任意のコレクションに5 MB/秒のレートでのみデータ挿入を許可します。
この設定を使用するには、同時に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
説明 |
デフォルト値 |
1秒あたりの最高データ削除レート。
この項目を0.1に設定すると、Milvusは0.1MB/秒の速度でのみデータ削除を許可します。
この設定を使用するには、同時にquotaAndLimits.dml.enabledをtrueに設定してください。 |
-1 |
quotaAndLimits.dml.deleteRate.db.max
説明 |
デフォルト値 |
MB/s, デフォルト制限なし |
-1 |
quotaAndLimits.dml.deleteRate.collection.max
説明 |
デフォルト値 |
1秒あたりの最高データ削除レート。
この項目を0.1に設定すると、Milvusはどのコレクションからも0.1 MB/秒の速度でのみデータ削除を許可します。
この設定を使用するには、同時にquotaAndLimits.dml.enabledをtrueに設定します。 |
-1 |
quotaAndLimits.dml.deleteRate.partition.max
説明 |
デフォルト値 |
MB/s、デフォルトは制限なし |
-1 |
quotaAndLimits.dml.bulkLoadRate.max
説明 |
デフォルト値 |
MB/s、デフォルトは制限なし。TODO: バルクロード・レートの制限 |
-1 |
quotaAndLimits.dml.bulkLoadRate.db.max
説明 |
デフォルト値 |
MB/s、デフォルトは制限なし、未サポート。TODO: dbのバルクロードレートを制限する |
-1 |
quotaAndLimits.dml.bulkLoadRate.collection.max
説明 |
デフォルト値 |
MB/s、デフォルト無制限、未サポート。TODO: コレクションのバルクロードレートを制限する |
-1 |
quotaAndLimits.dml.bulkLoadRate.partition.max
説明 |
デフォルト値 |
MB/s、デフォルトは制限なし、未サポート。TODO: パーティションのバルクロードレートを制限する |
-1 |
quotaAndLimits.dql.enabled
説明 |
デフォルト値 |
DQLリクエストのスロットリングを有効にするかどうか。 |
false |
quotaAndLimits.dql.searchRate.max
説明 |
デフォルト値 |
1 秒間に検索するベクターの最大数。
この項目を 100 に設定すると、Milvus は、100 個のベクターがすべて 1 回の検索に含まれるか、複数の検索に分散されるかに関係なく、1 秒間に 100 個のベクターしか検索できなくなります。
この設定を使用するには、同時に quotaAndLimits.dql.enabled を true に設定します。 |
-1 |
quotaAndLimits.dql.searchRate.db.max
説明 |
デフォルト値 |
vps(1秒あたりのベクター数)、デフォルトは制限なし |
-1 |
quotaAndLimits.dql.searchRate.collection.max
説明 |
デフォルト値 |
コレクションごとに毎秒検索するベクターの最大数。
この項目を 100 に設定すると、Milvus は、100 個のベクターがすべて 1 回の検索に含まれるか、複数の検索に分散されるかに関係なく、コレクションごとに 1 秒あたり 100 個のベクターしか検索できなくなります。
この設定を使用するには、同時にquotaAndLimits.dql.enabledをtrueに設定してください。 |
-1 |
quotaAndLimits.dql.searchRate.partition.max
説明 |
デフォルト値 |
vps (1秒あたりのベクター数)、デフォルトは制限なし |
-1 |
quotaAndLimits.dql.queryRate.max
説明 |
デフォルト値 |
1秒あたりの最大クエリー数。
この項目を100に設定すると、Milvusは1秒あたり100クエリしか許可しません。
この設定を使用するには、同時にquotaAndLimits.dql.enabledをtrueに設定します。 |
-1 |
quotaAndLimits.dql.queryRate.db.max
説明 |
デフォルト値 |
qps、デフォルト制限なし |
-1 |
quotaAndLimits.dql.queryRate.collection.max
説明 |
デフォルト値 |
1秒あたりのコレクションあたりの最大クエリー数。
この項目を100に設定すると、Milvusは1秒あたりコレクションあたり100クエリしか許可しません。
この設定を使用するには、同時にquotaAndLimits.dql.enabledをtrueに設定してください。 |
-1 |
quotaAndLimits.dql.queryRate.partition.max
説明 |
デフォルト値 |
qps、デフォルト制限なし |
-1 |
quotaAndLimits.limitWriting.forceDeny
説明 |
デフォルト値 |
forceDenyがfalseの場合はdmlリクエストが許可される(水マーカへのノードのメモリなど特定の条件を除く)。
trueはすべてのdmlリクエストを拒否する。 |
false |
quotaAndLimits.limitWriting.ttProtection.maxTimeTickDelay
説明 |
デフォルト値 |
maxTimeTickDelayはDML操作のバックプレッシャーを示す。
DML レートは maxTimeTickDelay に対する time tick delay の比率に応じて低下する、
もしtime tick delayがmaxTimeTickDelayより大きければ、全てのDMLリクエストは拒否される。
秒 |
300 |
quotaAndLimits.limitWriting.memProtection.enabled
説明 |
デフォルト値 |
memoryLowWaterLevel < memory usage < memoryHighWaterLevel の場合、すべてのDMLリクエストは拒否される;
memoryLowWaterLevel < memory usage < memoryHighWaterLevelのとき、dmlレートを下げる;
メモリ使用量<memoryLowWaterLevelの場合、何もしない。 |
true |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryLowWaterLevel
説明 |
デフォルト値 |
(0, 1]、データノードのmemoryLowWaterLevel |
0.85 |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryHighWaterLevel
説明 |
デフォルト値 |
(0, 1]、データノードのmemoryHighWaterLevel |
0.95 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryLowWaterLevel
説明 |
デフォルト値 |
(0, 1]、クエリノードのmemoryLowWaterLevel |
0.85 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryHighWaterLevel
説明 |
デフォルト値 |
(0, 1]、クエリノードのmemoryHighWaterLevel |
0.95 |
quotaAndLimits.limitWriting.growingSegmentsSizeProtection.enabled
説明 |
デフォルト値 |
成長セグメントのサイズがLow Watermarkより小さい場合は、何もしない。
成長しているセグメントのサイズが低い透かしを超えた場合、dmlのレートは低下する、
ただし、minRateRatio * dmlRateを下回ることはない。 |
false |
quotaAndLimits.limitWriting.diskProtection.enabled
説明 |
デフォルト値 |
オブジェクトストレージのファイルサイズの合計が `diskQuota` より大きい場合、全ての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セグメント行数クォータを有効にするスイッチ |
偽 |
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は、システムがSearch/Queryパスのバックプレッシャー下にあることを示す。
QueryNodeのキューのNQがnqInQueueThresholdより大きい場合、search&queryのレートはキュー内のNQが無くなるまで徐々に下がっていく。
キュー内のNQがnqInQueueThresholdを超えなくなるまで。クエリ要求のNQを1として考える。
int, デフォルト無制限 |
-1 |
quotaAndLimits.limitReading.queueProtection.queueLatencyThreshold
説明 |
デフォルト値 |
queueLatencyThresholdは、システムがSearch/Queryパスのバックプレッシャー下にあることを示す。
もしキューのdqlの待ち時間がqueueLatencyThresholdより大きければ、検索と問い合わせのレートは、キューの待ち時間がqueueLatencyThresholdを超えなくなるまで、徐々に下がっていく。
キューイングの待ち時間がqueueLatencyThresholdを超えなくなるまで。
ここでの待ち時間とは、ある期間にわたって平均化された待ち時間を指す。
ミリ秒、デフォルトは無制限 |
-1 |
quotaAndLimits.limitReading.resultProtection.maxReadResultRate
説明 |
デフォルト値 |
maxReadResultRateは、システムがSearch/Queryパスのバックプレッシャー下にあることを示す。
もしdqlの結果レートがmaxReadResultRateより大きければ、search&queryのレートはmaxReadResultRateを超えなくなるまで、徐々に下がっていく。
がmaxReadResultRateを上回らなくなるまで、search&queryレートは徐々に冷却される。
MB/s、デフォルトは制限なし |
-1 |
quotaAndLimits.limitReading.coolOffSpeed
説明 |
デフォルト値 |
colOffSpeedはsearch&queryレートのクールオフ速度。
(0, 1] |
0.9 |