配额和限制相关配置
本主题介绍了Milvus中与配额和限制相关的配置项。
其中一些配置项用于设置Milvus的阈值,以主动限制与集合、分区、索引等相关的DDL/DML/DQL请求。
另一些配置项用于设置背压信号,强制Milvus降低DDL/DML/DQL请求的速率。
quotaAndLimits.limits.maxCollectionNumPerDB
quotaAndLimits.ddl.enabled
quotaAndLimits.ddl.collectionRate
描述 | 默认值 |
---|
每秒钟与集合相关的DDL请求的最大数量。将此项设置为10 表示Milvus每秒钟处理不超过10个与集合相关的DDL请求,包括集合创建请求、集合删除请求、集合加载请求和集合释放请求。要使用此设置,请同时将quotaAndLimits.ddl.enabled 设置为true 。 | ∞ |
quotaAndLimits.ddl.partitionRate
描述 | 默认值 |
---|
每秒钟与分区相关的DDL请求的最大数量。将此项设置为10 表示Milvus每秒钟处理不超过10个与分区相关的请求,包括分区创建请求、分区删除请求、分区加载请求和分区释放请求。要使用此设置,请同时将quotaAndLimits.ddl.enabled 设置为true 。 | ∞ |
quotaAndLimits.indexRate.enabled
描述 | 默认值 |
---|
是否启用与索引相关的请求节流。 | False |
quotaAndLimits.indexRate.max
描述 | 默认值 |
---|
每秒钟与索引相关的请求的最大数量。将此项设置为10 表示Milvus每秒钟处理不超过10个与分区相关的请求,包括索引创建请求和索引删除请求。要使用此设置,请同时将quotaAndLimits.indexRate.enabled 设置为true 。 | ∞ |
quotaAndLimits.flushRate.enabled
quotaAndLimits.flush.max
描述 | 默认值 |
---|
每秒钟刷新请求的最大数量。将此项设置为10 表示Milvus每秒钟处理不超过10个刷新请求。要使用此设置,请同时将quotaAndLimits.flushRate.enabled 设置为true 。 | ∞ |
quotaAndLimits.compaction.enabled
quotaAndLimits.compaction.max
描述 | 默认值 |
---|
每秒钟手动压缩请求的最大数量。将此项设置为10 表示Milvus每秒钟处理不超过10个手动压缩请求。要使用此设置,请同时将quotaAndLimits.compaction.enabled 设置为true 。 | ∞ |
quotaAndLimits.dml.enabled
quotaAndLimits.dml.insertRate.max
描述 | 默认值 |
---|
每秒最高数据插入速率。将此项设置为 5 表示 Milvus 仅允许以 5 MB/s 的速率进行数据插入。要使用此设置,同时将 quotaAndLimits.dml.enabled 设置为 true 。 | ∞ |
quotaAndLimits.dml.insertRate.collection.max
描述 | 默认值 |
---|
每秒每个集合的最高数据插入速率。将此项设置为 5 表示 Milvus 仅允许以 5 MB/s 的速率向任何集合插入数据。要使用此设置,同时将 quotaAndLimits.dml.enabled 设置为 true 。 | ∞ |
quotaAndLimits.dml.deleteRate.max
描述 | 默认值 |
---|
每秒最高数据删除速率。将此项设置为 0.1 表示 Milvus 仅允许以 0.1 MB/s 的速率进行数据删除。要使用此设置,同时将 quotaAndLimits.dml.enabled 设置为 true 。 | ∞ |
quotaAndLimits.dml.deleteRate.collection.max
描述 | 默认值 |
---|
每秒每个集合的最高数据删除速率。将此项设置为 0.1 表示 Milvus 仅允许以 0.1 MB/s 的速率从任何集合删除数据。要使用此设置,同时将 quotaAndLimits.dml.enabled 设置为 true 。 | ∞ |
quotaAndLimits.dql.enabled
描述 | 默认值 |
---|
是否启用了 DQL 请求节流。 | False |
quotaAndLimits.dql.searchRate.max
描述 | 默认值 |
---|
每秒搜索的最大向量数。将此项设置为100 表示 Milvus 每秒只允许搜索 100 个向量,无论这 100 个向量是在一次搜索中还是分散在多次搜索中。要使用此设置,同时将quotaAndLimits.dql.enabled 设置为true 。 | ∞ |
quotaAndLimits.dql.searchRate.collection.max
描述 | 默认值 |
---|
每秒每个集合搜索的最大向量数。将此项设置为100 表示 Milvus 每秒每个集合只允许搜索 100 个向量,无论这 100 个向量是在一次搜索中还是分散在多次搜索中。要使用此设置,同时将quotaAndLimits.dql.enabled 设置为true 。 | ∞ |
quotaAndLimits.dql.queryRate.max
描述 | 默认值 |
---|
每秒查询的最大次数。将此项设置为100 表示 Milvus 每秒只允许进行 100 次查询。要使用此设置,同时将quotaAndLimits.dql.enabled 设置为true 。 | ∞ |
quotaAndLimits.dql.queryRate.collection.max
描述 | 默认值 |
---|
每秒每个集合查询的最大次数。将此项设置为100 表示 Milvus 每秒每个集合只允许进行 100 次查询。要使用此设置,同时将quotaAndLimits.dql.enabled 设置为true 。 | ∞ |
quotaAndLimits.limitWriting.ttProtection.enabled
描述 | 默认值 |
---|
是否启用了基于时间刻度延迟的回压。 | False |
quotaAndLimits.limitWriting.ttProtection.maxTimeTickDelay
描述 | 默认值 |
---|
最大时间滴答延迟。时间滴答延迟是RootCoord TSO与DataNodes和QueryNodes上所有流图的最小时间滴答之间的差异。将此项设置为300 表示Milvus随着延迟增加而降低DML请求速率,并在延迟达到设定的最大值(以秒为单位)时丢弃所有DML请求。要使用此设置,同时将quotaAndLimits.limitWriting.ttProtection.enabled 设置为true 。 | 300 |
quotaAndLimits.limitWriting.memProtection.enabled
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryLowWaterLevel
描述 | 默认值 |
---|
DataNodes上的低内存水位。内存水位是DataNodes上已使用内存与总内存之比。将此项设置为0.85 表示Milvus随着DataNodes上的内存水位达到设定值而降低DML请求速率。要使用此设置,同时将quotaAndLimits.limitWriting.memProtection.enabled 设置为true 。 | 0.85 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryLowWaterLevel
描述 | 默认值 |
---|
QueryNodes上的低内存水位。内存水位是QueryNodes上已使用内存与总内存之比。 |
quotaAndLimits.limitWriting.memProtection.dataNodeMemoryHighWaterLevel
描述 | 默认值 |
---|
DataNodes 上的高内存水位。内存水位是 DataNodes 上已使用内存与总内存的比率。将此项设置为 0.95 表示当 DataNodes 上的内存水位达到设定值时,Milvus 将放弃所有 DML 请求。要使用此设置,同时将 quotaAndLimits.limitWriting.memProtection.enabled 设置为 true 。 | 0.95 |
quotaAndLimits.limitWriting.memProtection.queryNodeMemoryHighWaterLevel
描述 | 默认值 |
---|
QueryNodes 上的高内存水位。内存水位是 QueryNodes 上已使用内存与总内存的比率。将此项设置为 0.95 表示当 QueryNodes 上的内存水位达到设定值时,Milvus 将放弃所有 DML 请求。要使用此设置,同时将 quotaAndLimits.limitWriting.memProtection.enabled 设置为 true 。 | 0.95 |
quotaAndLimits.limitWriting.diskProtection.enabled
描述 | 默认值 |
---|
基于磁盘配额的背压是否已启用。 | False |
quotaAndLimits.limitWriting.diskProtection.diskQuota
描述 | 默认值 |
---|
分配给 binlog 的磁盘配额。将此项设置为 8192 表示当 binlog 的大小达到设定值时,Milvus 将放弃所有 DML 请求。 |
quotaAndLimits.limitWriting.diskProtection.enabled