QuotaConfigはMilvusのクォータとリミットの設定です。
デフォルトでは
TT保護
メモリ保護.
ディスククォータ保護。
有効にすることができます:
DMLスループット制限;
DDL、DQL qps/rps制限;
DQLキュー長/待ち時間の保護;
DQL結果レートの保護;
必要に応じて、手動でRW要求を強制的に拒否することもできます。
quotaAndLimits.enabled
| 説明 |
デフォルト値 |
| true`でクォータと制限を有効にし、`false`で無効にする。 |
false |
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.limits.maxGroupSize
| 説明 |
デフォルト値 |
| によるグループ検索を行う場合の1つのグループの最大サイズ |
10 |
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は5MB/秒のレートでのみコレクションへのデータ挿入を許可します。
この設定を使用するには、同時に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.1MB/秒の速度でのみデータ削除を許可します。
この設定を使用するには、同時に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は1秒間に100個のベクターしか検索できないことになります。この100個のベクターが1回の検索ですべて検索されるか、複数の検索にまたがって検索されるかに関係ありません。
この設定を使用するには、同時に 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は毎秒100クエリしか許可しないことを示します。
この設定を使用するには、同時にquotaAndLimits.dql.enabledをtrueに設定してください。 |
-1 |
quotaAndLimits.dql.queryRate.db.max
| 説明 |
デフォルト値 |
| qps、デフォルト制限なし |
-1 |
quotaAndLimits.dql.queryRate.collection.max
| 説明 |
デフォルト値 |
|
1秒あたりのコレクションあたりの最大クエリー数。
この項目を100に設定すると、Milvusは毎秒コレクションあたり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セグメント行数クォータ、低水位 |
30000000 |
quotaAndLimits.limitWriting.l0SegmentsRowCountProtection.highWaterLevel
| 説明 |
デフォルト値 |
| L0セグメント行数クォータ、高水位 |
50000000 |
quotaAndLimits.limitWriting.deleteBufferRowCountProtection.enabled
| 説明 |
デフォルト値 |
| 削除バッファ行数クォータを有効にするスイッチ |
false |
quotaAndLimits.limitWriting.deleteBufferRowCountProtection.lowWaterLevel
| 説明 |
デフォルト値 |
| バッファ行数クォータ削除、低水位 |
32768 |
quotaAndLimits.limitWriting.deleteBufferRowCountProtection.highWaterLevel
| 説明 |
デフォルト値 |
| 削除バッファ行数クォータ、高水準 |
65536 |
quotaAndLimits.limitWriting.deleteBufferSizeProtection.enabled
| 説明 |
デフォルト値 |
| 削除バッファサイズクォータを有効にするスイッチ |
false |
quotaAndLimits.limitWriting.deleteBufferSizeProtection.lowWaterLevel
| 説明 |
デフォルト値 |
| バッファサイズクォータ削除、低水位 |
134217728 |
quotaAndLimits.limitWriting.deleteBufferSizeProtection.highWaterLevel
| 説明 |
デフォルト値 |
| バッファサイズクォータの削除、高水位 |
268435456 |
quotaAndLimits.limitReading.forceDeny
| 説明 |
デフォルト値 |
|
forceDeny falseはdqlリクエストが許可されることを意味する。
trueは常にすべてのdqlリクエストを拒否する。 |
false |