2021-10-11 21:15:00 +08:00
# Licensed to the LF AI & Data foundation under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
2020-11-18 17:32:52 +08:00
# with the License. You may obtain a copy of the License at
#
2021-10-11 21:15:00 +08:00
# http://www.apache.org/licenses/LICENSE-2.0
2020-11-18 17:32:52 +08:00
#
2021-10-11 21:15:00 +08:00
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
2020-11-18 17:32:52 +08:00
2022-08-11 12:12:38 +08:00
# Related configuration of etcd, used to store Milvus metadata & service discovery.
2020-11-20 17:10:24 +08:00
etcd :
2023-02-23 11:37:46 +08:00
endpoints : localhost:2379
2021-12-07 14:14:08 +08:00
rootPath : by-dev # The root path where data is stored in etcd
2020-11-28 19:06:48 +08:00
metaSubPath : meta # metaRootPath = rootPath + '/' + metaSubPath
kvSubPath : kv # kvRootPath = rootPath + '/' + kvSubPath
2022-02-25 15:03:53 +08:00
log :
2023-02-23 11:37:46 +08:00
level : info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
2022-03-10 10:35:59 +08:00
# path is one of:
# - "default" as os.Stderr,
# - "stderr" as os.Stderr,
# - "stdout" as os.Stdout,
# - file path to append server logs to.
2022-04-25 14:17:45 +08:00
# please adjust in embedded Milvus: /tmp/milvus/logs/etcd.log
2022-03-10 10:35:59 +08:00
path : stdout
2022-05-20 12:29:19 +08:00
ssl :
enabled : false # Whether to support ETCD secure connection mode
tlsCert : /path/to/etcd-client.pem # path to your cert file
tlsKey : /path/to/etcd-client-key.pem # path to your key file
2022-10-08 15:38:58 +08:00
tlsCACert : /path/to/ca.pem # path to your CACert file
2022-05-20 12:29:19 +08:00
# TLS min version
# Optional values: 1.0, 1.1, 1.2, 1.3。
2023-02-23 11:37:46 +08:00
# We recommend using version 1.2 and above.
2022-05-20 12:29:19 +08:00
tlsMinVersion : 1.3
2024-04-16 16:17:19 +08:00
requestTimeout : 10000 # Etcd operation timeout in milliseconds
2023-02-23 11:37:46 +08:00
use :
embed : false # Whether to enable embedded Etcd (an in-process EtcdServer).
data :
dir: default.etcd # Embedded Etcd only. please adjust in embedded Milvus : /tmp/milvus/etcdData/
2024-04-16 16:17:19 +08:00
auth :
enabled : false # Whether to enable authentication
userName : # username for etcd authentication
password : # password for etcd authentication
2020-11-19 10:46:17 +08:00
2022-08-11 12:12:38 +08:00
metastore :
2024-04-16 16:17:19 +08:00
type: etcd # Default value: etcd, Valid values : [ etcd, tikv]
2022-08-11 12:12:38 +08:00
2023-09-07 07:25:14 +08:00
# Related configuration of tikv, used to store Milvus metadata.
# Notice that when TiKV is enabled for metastore, you still need to have etcd for service discovery.
# TiKV is a good option when the metadata size requires better horizontal scalability.
tikv :
2024-04-16 16:17:19 +08:00
endpoints : 127.0 .0 .1 : 2389 # Note that the default pd port of tikv is 2379, which conflicts with etcd.
rootPath : by-dev # The root path where data is stored in tikv
2023-09-07 07:25:14 +08:00
metaSubPath : meta # metaRootPath = rootPath + '/' + metaSubPath
kvSubPath : kv # kvRootPath = rootPath + '/' + kvSubPath
2024-04-16 16:17:19 +08:00
requestTimeout : 10000 # ms, tikv request timeout
snapshotScanSize : 256 # batch size of tikv snapshot scan
ssl :
enabled : false # Whether to support TiKV secure connection mode
tlsCert : # path to your cert file
tlsKey : # path to your key file
tlsCACert : # path to your CACert file
2023-09-07 07:25:14 +08:00
2022-04-07 22:05:32 +08:00
localStorage :
2024-05-28 16:49:43 +08:00
path: /var/lib/milvus/data/ # please adjust in embedded Milvus : /tmp/milvus/data/
2022-04-07 22:05:32 +08:00
2022-11-01 11:07:35 +08:00
# Related configuration of MinIO/S3/GCS or any other service supports S3 API, which is responsible for data persistence for Milvus.
# We refer to the storage service as MinIO/S3 in the following description for simplicity.
2020-12-08 14:41:04 +08:00
minio :
2021-11-30 14:17:12 +08:00
address : localhost # Address of MinIO/S3
2023-02-23 11:37:46 +08:00
port : 9000 # Port of MinIO/S3
2021-11-30 14:19:10 +08:00
accessKeyID : minioadmin # accessKeyID of MinIO/S3
2021-10-28 19:51:03 +08:00
secretAccessKey : minioadmin # MinIO/S3 encryption string
2024-03-27 14:41:20 +08:00
useSSL : false # Access to MinIO/S3 with SSL
2024-03-21 11:15:20 +08:00
ssl :
2024-04-16 16:17:19 +08:00
tlsCACert : /path/to/public.crt # path to your CACert file
2023-02-23 11:37:46 +08:00
bucketName : a-bucket # Bucket name in MinIO/S3
2021-12-03 13:30:16 +08:00
rootPath : files # The root path where the message is stored in MinIO/S3
2023-02-23 11:37:46 +08:00
# Whether to useIAM role to access S3/GCS instead of access/secret keys
# For more information, refer to
2022-11-01 11:07:35 +08:00
# aws: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
# gcp: https://cloud.google.com/storage/docs/access-control/iam
2023-06-07 10:00:37 +08:00
# aliyun (ack): https://www.alibabacloud.com/help/en/container-service-for-kubernetes/latest/use-rrsa-to-enforce-access-control
2023-03-09 16:33:52 +08:00
# aliyun (ecs): https://www.alibabacloud.com/help/en/elastic-compute-service/latest/attach-an-instance-ram-role
2022-08-11 12:12:38 +08:00
useIAM : false
2023-06-07 10:00:37 +08:00
# Cloud Provider of S3. Supports: "aws", "gcp", "aliyun".
2022-11-01 11:07:35 +08:00
# You can use "aws" for other cloud provider supports S3 API with signature v4, e.g.: minio
# You can use "gcp" for other cloud provider supports S3 API with signature v2
2023-06-07 10:00:37 +08:00
# You can use "aliyun" for other cloud provider uses virtual host style bucket
2023-03-09 16:33:52 +08:00
# When useIAM enabled, only "aws", "gcp", "aliyun" is supported for now
2023-02-23 11:37:46 +08:00
cloudProvider : aws
2022-11-01 11:07:35 +08:00
# Custom endpoint for fetch IAM role credentials. when useIAM is true & cloudProvider is "aws".
2022-06-02 19:42:03 +08:00
# Leave it empty if you want to use AWS default endpoint
2024-04-16 16:17:19 +08:00
iamEndpoint :
logLevel: fatal # Log level for aws sdk log. Supported level : off , fatal, error, warn, info, debug, trace
region : # Specify minio storage system location region
useVirtualHost : false # Whether use virtual host mode for bucket
requestTimeoutMs : 10000 # minio timeout for request time in milliseconds
2024-05-07 16:33:30 +08:00
# The maximum number of objects requested per batch in minio ListObjects rpc,
# 0 means using oss client by default, decrease these configration if ListObjects timeout
listObjectsMaxKeys : 0
2020-12-08 14:41:04 +08:00
2023-06-07 10:00:37 +08:00
# Milvus supports four MQ: rocksmq(based on RockDB), natsmq(embedded nats-server), Pulsar and Kafka.
# You can change your mq by setting mq.type field.
# If you don't set mq.type field as default, there is a note about enabling priority if we config multiple mq in this file.
2024-04-16 16:17:19 +08:00
# 1. standalone(local) mode: rocksmq(default) > natsmq > Pulsar > Kafka
2023-06-07 10:00:37 +08:00
# 2. cluster mode: Pulsar(default) > Kafka (rocksmq and natsmq is unsupported in cluster mode)
mq :
# Default value: "default"
# Valid values: [default, pulsar, kafka, rocksmq, natsmq]
type : default
2024-04-16 16:17:19 +08:00
enablePursuitMode: true # Default value : "true"
pursuitLag : 10 # time tick lag threshold to enter pursuit mode, in seconds
pursuitBufferSize : 8388608 # pursuit mode buffer size in bytes
mqBufSize : 16 # MQ client consumer buffer length
2024-06-07 14:21:59 +08:00
dispatcher :
mergeCheckInterval : 1 # the interval time(in seconds) for dispatcher to check whether to merge
targetBufSize : 16 # the lenth of channel buffer for targe
maxTolerantLag: 3 # Default value : "3" , the timeout(in seconds) that target sends msgPack
2022-04-12 19:47:33 +08:00
2021-10-11 21:21:47 +08:00
# Related configuration of pulsar, used to manage Milvus logs of recent mutation operations, output streaming log, and provide log publish-subscribe services.
2020-11-20 17:10:24 +08:00
pulsar :
2021-12-01 13:07:53 +08:00
address : localhost # Address of pulsar
2023-02-23 11:37:46 +08:00
port : 6650 # Port of Pulsar
2023-10-24 09:30:10 +08:00
webport : 80 # Web port of pulsar, if you connect directly without proxy, should use 8080
2021-10-11 21:19:40 +08:00
maxMessageSize : 5242880 # 5 * 1024 * 1024 Bytes, Maximum size of each message in pulsar.
2022-11-11 10:55:05 +08:00
tenant : public
namespace : default
2023-08-23 20:46:23 +08:00
requestTimeout : 60 # pulsar client global request timeout in seconds
2023-09-13 12:03:19 +08:00
enableClientMetrics : false # Whether to register pulsar client metrics into milvus metrics path.
2020-11-19 10:46:17 +08:00
2022-04-12 19:47:33 +08:00
# If you want to enable kafka, needs to comment the pulsar configs
2023-02-23 11:37:46 +08:00
# kafka:
2024-04-16 16:17:19 +08:00
# brokerList:
# saslUsername:
# saslPassword:
# saslMechanisms:
# securityProtocol:
2024-02-28 18:43:07 +08:00
# ssl:
2024-04-16 16:17:19 +08:00
# enabled: false # whether to enable ssl mode
# tlsCert: # path to client's public key (PEM) used for authentication
# tlsKey: # path to client's private key (PEM) used for authentication
# tlsCaCert: # file or directory path to CA certificate(s) for verifying the broker's key
# tlsKeyPassword: # private key passphrase for use with ssl.key.location and set_ssl_cert(), if any
# readTimeout: 10
2022-04-12 19:47:33 +08:00
2021-06-25 19:44:11 +08:00
rocksmq :
2023-02-23 11:37:46 +08:00
# The path where the message is stored in rocksmq
2022-04-25 14:17:45 +08:00
# please adjust in embedded Milvus: /tmp/milvus/rdb_data
2023-02-23 11:37:46 +08:00
path : /var/lib/milvus/rdb_data
lrucacheratio : 0.06 # rocksdb cache memory ratio
2023-04-27 14:26:35 +08:00
rocksmqPageSize : 67108864 # 64 MB, 64 * 1024 * 1024 bytes, The size of each page of messages in rocksmq
retentionTimeInMinutes : 4320 # 3 days, 3 * 24 * 60 minutes, The retention time of the message in rocksmq.
2021-12-02 18:15:44 +08:00
retentionSizeInMB : 8192 # 8 GB, 8 * 1024 MB, The retention size of the message in rocksmq.
2022-08-29 10:56:55 +08:00
compactionInterval : 86400 # 1 day, trigger rocksdb compaction every day to remove deleted data
2024-04-16 16:17:19 +08:00
compressionTypes : 0 , 0 , 7 , 7 , 7 # compaction compression type, only support use 0,7. 0 means not compress, 7 will use zstd. Length of types means num of rocksdb level.
2021-06-25 19:44:11 +08:00
2023-06-07 10:00:37 +08:00
# natsmq configuration.
2023-08-14 14:21:32 +08:00
# more detail: https://docs.nats.io/running-a-nats-service/configuration
2023-06-07 10:00:37 +08:00
natsmq :
2024-04-16 16:17:19 +08:00
server :
port : 4222 # Port for nats server listening
storeDir : /var/lib/milvus/nats # Directory to use for JetStream storage of nats
maxFileStore : 17179869184 # Maximum size of the 'file' storage
maxPayload : 8388608 # Maximum number of bytes in a message payload
maxPending : 67108864 # Maximum number of bytes buffered for a connection Applies to client connections
initializeTimeout : 4000 # waiting for initialization of natsmq finished
2023-06-07 10:00:37 +08:00
monitor :
2024-04-16 16:17:19 +08:00
trace : false # If true enable protocol trace log messages
debug : false # If true enable debug log messages
logTime : true # If set to false, log without timestamps.
logFile : /tmp/milvus/logs/nats.log # Log file path relative to .. of milvus binary if use relative path
logSizeLimit : 536870912 # Size in bytes after the log file rolls over to a new one
2023-07-25 19:33:01 +08:00
retention :
2024-04-16 16:17:19 +08:00
maxAge : 4320 # Maximum age of any message in the P-channel
maxBytes : # How many bytes the single P-channel may contain. Removing oldest messages if the P-channel exceeds this size
maxMsgs : # How many message the single P-channel may contain. Removing oldest messages if the P-channel exceeds this limit
2023-06-07 10:00:37 +08:00
2021-10-12 08:20:33 +08:00
# Related configuration of rootCoord, used to handle data definition language (DDL) and data control language (DCL) requests
2021-06-22 19:08:03 +08:00
rootCoord :
2023-04-27 14:26:35 +08:00
dmlChannelNum : 16 # The number of dml channels created at system startup
2024-06-20 09:11:59 +08:00
maxPartitionNum : 1024 # Maximum number of partitions in a collection
2021-11-12 18:53:11 +08:00
minSegmentSizeToEnableIndex : 1024 # It's a threshold. When the segment size is less than this value, the segment will not be indexed
2023-02-23 11:37:46 +08:00
enableActiveStandby : false
2024-04-16 16:17:19 +08:00
maxDatabaseNum : 64 # Maximum number of database
maxGeneralCapacity : 65536 # upper limit for the sum of of product of partitionNumber and shardNumber
gracefulStopTimeout : 5 # seconds. force stop node without graceful stop
ip : # if not specified, use the first unicastable address
2023-02-23 11:37:46 +08:00
port : 53100
grpc :
serverMaxSendSize : 536870912
2024-01-05 15:56:47 +08:00
serverMaxRecvSize : 268435456
2023-02-23 11:37:46 +08:00
clientMaxSendSize : 268435456
2024-01-05 15:56:47 +08:00
clientMaxRecvSize : 536870912
2022-04-03 11:37:29 +08:00
2021-10-11 21:29:27 +08:00
# Related configuration of proxy, used to validate client requests and reduce the returned results.
2021-06-22 19:08:03 +08:00
proxy :
2021-11-12 18:53:11 +08:00
timeTickInterval : 200 # ms, the interval that proxy synchronize the time tick
2023-09-04 17:51:48 +08:00
healthCheckTimeout : 3000 # ms, the interval that to do component healthy check
2021-11-12 18:53:11 +08:00
msgStream :
timeTick :
bufSize : 512
2023-02-23 11:37:46 +08:00
maxNameLength : 255 # Maximum length of name for a collection or alias
# Maximum number of fields in a collection.
2022-12-14 10:39:22 +08:00
# As of today (2.2.0 and after) it is strongly DISCOURAGED to set maxFieldNum >= 64.
# So adjust at your risk!
2023-02-23 11:37:46 +08:00
maxFieldNum : 64
2024-04-16 16:17:19 +08:00
maxVectorFieldNum : 4 # Maximum number of vector fields in a collection.
2023-04-27 22:20:35 +08:00
maxShardNum : 16 # Maximum number of shards in a collection
2023-02-23 11:37:46 +08:00
maxDimension : 32768 # Maximum dimension of a vector
# Whether to produce gin logs.\n
2022-04-25 14:17:45 +08:00
# please adjust in embedded Milvus: false
2023-02-23 11:37:46 +08:00
ginLogging : true
2024-04-16 16:17:19 +08:00
ginLogSkipPaths : / # skip url path for gin log
2023-02-23 11:37:46 +08:00
maxTaskNum : 1024 # max task number of proxy task queue
2024-05-07 16:33:30 +08:00
mustUsePartitionKey : false # switch for whether proxy must use partition key for the collection
2022-11-10 17:09:06 +08:00
accessLog :
2024-04-16 16:17:19 +08:00
enable : false # if use access log
minioEnable : false # if upload sealed access log file to minio
localPath : /tmp/milvus_access
filename : # Log filename, leave empty to use stdout.
maxSize : 64 # Max size for a single file, in MB.
2024-07-09 18:18:12 +08:00
cacheSize : 0 # Size of log write cache, in B
cacheFlushInterval : 3 # time interval of auto flush write cache, in Seconds. (Close auto flush if interval was 0)
2024-04-16 16:17:19 +08:00
rotatedTime : 0 # Max time for single access log file in seconds
remotePath : access_log/ # File path in minIO
remoteMaxTime : 0 # Max time for log file in minIO, in hours
2023-11-28 15:32:31 +08:00
formatters :
2023-12-12 11:14:37 +08:00
base :
2023-12-13 18:50:42 +08:00
format : "[$time_now] [ACCESS] <$user_name: $user_addr> $method_name [status: $method_status] [code: $error_code] [sdk: $sdk_version] [msg: $error_msg] [traceID: $trace_id] [timeCost: $time_cost]"
2024-04-16 16:17:19 +08:00
query :
2023-12-13 18:50:42 +08:00
format : "[$time_now] [ACCESS] <$user_name: $user_addr> $method_name [status: $method_status] [code: $error_code] [sdk: $sdk_version] [msg: $error_msg] [traceID: $trace_id] [timeCost: $time_cost] [database: $database_name] [collection: $collection_name] [partitions: $partition_name] [expr: $method_expr]"
2024-04-16 16:17:19 +08:00
methods : "Query,Search,Delete"
connectionCheckIntervalSeconds : 120 # the interval time(in seconds) for connection manager to scan inactive client info
connectionClientInfoTTLSeconds : 86400 # inactive client info TTL duration, in seconds
maxConnectionNum : 10000 # the max client info numbers that proxy should manage, avoid too many client infos
gracefulStopTimeout : 30 # seconds. force stop node without graceful stop
slowQuerySpanInSeconds : 5 # query whose executed time exceeds the `slowQuerySpanInSeconds` can be considered slow, in seconds.
2023-02-23 11:37:46 +08:00
http :
enabled : true # Whether to enable the http server
debug_mode : false # Whether to enable http server debug mode
2024-04-16 16:17:19 +08:00
port : # high-level restful api
acceptTypeAllowInt64 : true # high-level restful api, whether http client can deal with int64
enablePprof : true # Whether to enable pprof middleware on the metrics port
ip : # if not specified, use the first unicastable address
2023-02-23 11:37:46 +08:00
port : 19530
internalPort : 19529
2022-12-07 10:07:18 +08:00
grpc :
2024-01-05 15:56:47 +08:00
serverMaxSendSize : 268435456
2023-02-23 11:37:46 +08:00
serverMaxRecvSize : 67108864
clientMaxSendSize : 268435456
2024-01-05 15:56:47 +08:00
clientMaxRecvSize : 67108864
2021-11-12 18:53:11 +08:00
2021-10-11 16:28:05 +08:00
# Related configuration of queryCoord, used to manage topology and load balancing for the query nodes, and handoff from growing segments to sealed segments.
2021-06-22 16:44:09 +08:00
queryCoord :
2024-04-16 16:17:19 +08:00
taskMergeCap : 1
taskExecutionCap : 256
2021-12-06 18:02:50 +08:00
autoHandoff : true # Enable auto handoff
2023-12-27 14:30:53 +08:00
autoBalance : true # Enable auto balance
2024-04-16 16:17:19 +08:00
autoBalanceChannel : true # Enable auto balance channel
balancer : ScoreBasedBalancer # auto balancer used for segments on queryNodes
globalRowCountFactor : 0.1 # the weight used when balancing segments among queryNodes
scoreUnbalanceTolerationFactor : 0.05 # the least value for unbalanced extent between from and to nodes when doing balance
reverseUnBalanceTolerationFactor : 1.3 # the largest value for unbalanced extent between from and to nodes after doing balance
2021-12-06 18:05:32 +08:00
overloadedMemoryThresholdPercentage : 90 # The threshold percentage that memory overload
2021-11-12 18:49:10 +08:00
balanceIntervalSeconds : 60
memoryUsageMaxDifferencePercentage : 30
2024-04-16 16:17:19 +08:00
rowCountFactor : 0.4 # the row count weight used when balancing segments among queryNodes
segmentCountFactor : 0.4 # the segment count weight used when balancing segments among queryNodes
globalSegmentCountFactor : 0.1 # the segment count weight used when balancing segments among queryNodes
segmentCountMaxSteps : 50 # segment count based plan generator max steps
rowCountMaxSteps : 50 # segment count based plan generator max steps
randomMaxSteps : 10 # segment count based plan generator max steps
growingRowCountWeight : 4 # the memory weight of growing segment row count
balanceCostThreshold : 0.001 # the threshold of balance cost, if the difference of cluster's cost after executing the balance plan is less than this value, the plan will not be executed
checkSegmentInterval : 1000
checkChannelInterval : 1000
checkBalanceInterval : 10000
checkIndexInterval : 10000
2022-09-15 18:48:32 +08:00
channelTaskTimeout : 60000 # 1 minute
2022-09-22 14:14:52 +08:00
segmentTaskTimeout : 120000 # 2 minute
2022-09-15 18:48:32 +08:00
distPullInterval : 500
2024-06-07 08:25:53 +08:00
collectionObserverInterval : 200
checkExecutedFlagInterval : 100
2022-12-08 19:09:18 +08:00
heartbeatAvailableInterval : 10000 # 10s, Only QueryNodes which fetched heartbeats within the duration are available
2022-09-15 18:48:32 +08:00
loadTimeoutSeconds : 600
2024-04-16 16:17:19 +08:00
distRequestTimeout : 5000 # the request timeout for querycoord fetching data distribution from querynodes, in milliseconds
heatbeatWarningLag : 5000 # the lag value for querycoord report warning when last heatbeat is too old, in milliseconds
2022-09-15 18:48:32 +08:00
checkHandoffInterval : 5000
2024-04-16 16:17:19 +08:00
enableActiveStandby : false
checkInterval : 1000
checkHealthInterval : 3000 # 3s, the interval when query coord try to check health of query node
checkHealthRPCTimeout : 2000 # 100ms, the timeout of check health rpc to query node
brokerTimeout : 5000 # 5000ms, querycoord broker rpc timeout
collectionRecoverTimes : 3 # if collection recover times reach the limit during loading state, release it
observerTaskParallel : 16 # the parallel observer dispatcher task number
checkAutoBalanceConfigInterval : 10 # the interval of check auto balance config
checkNodeSessionInterval : 60 # the interval(in seconds) of check querynode cluster session
gracefulStopTimeout : 5 # seconds. force stop node without graceful stop
enableStoppingBalance : true # whether enable stopping balance
2024-05-14 10:05:40 +08:00
channelExclusiveNodeFactor : 4 # the least node number for enable channel's exclusive mode
2024-04-16 16:17:19 +08:00
cleanExcludeSegmentInterval : 60 # the time duration of clean pipeline exclude segment which used for filter invalid data, in seconds
ip : # if not specified, use the first unicastable address
2023-02-23 11:37:46 +08:00
port : 19531
grpc :
serverMaxSendSize : 536870912
2024-01-05 15:56:47 +08:00
serverMaxRecvSize : 268435456
2023-02-23 11:37:46 +08:00
clientMaxSendSize : 268435456
2024-01-05 15:56:47 +08:00
clientMaxRecvSize : 536870912
2021-01-22 14:28:06 +08:00
2021-10-11 21:31:16 +08:00
# Related configuration of queryNode, used to run hybrid search between vector and scalar data.
2020-11-20 17:10:24 +08:00
queryNode :
2023-02-23 11:37:46 +08:00
stats :
publishInterval : 1000 # Interval for querynode to report node information (milliseconds)
2021-11-12 18:53:11 +08:00
segcore :
2024-04-16 16:17:19 +08:00
knowhereThreadPoolNumRatio : 4 # The number of threads in knowhere's thread pool. If disk is enabled, the pool size will multiply with knowhereThreadPoolNumRatio([1, 32]).
2023-12-26 17:36:46 +08:00
chunkRows : 128 # The number of vectors in a chunk.
2024-04-16 16:17:19 +08:00
interimIndex :
enableIndex : true # Enable segment build with index to accelerate vector search when segment is in growing or binlog.
nlist : 128 # temp index nlist, recommend to set sqrt(chunkRows), must smaller than chunkRows/8
nprobe : 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist
memExpansionRate : 1.15 # extra memory needed by building interim index
2024-02-29 18:15:00 +08:00
buildParallelRate : 0.5 # the ratio of building interim index parallel matched with cpu num
2024-06-07 14:21:59 +08:00
knowhereScoreConsistency : false # Enable knowhere strong consistency score computation logic
2023-07-25 16:37:01 +08:00
loadMemoryUsageFactor : 1 # The multiply factor of calculating the memory usage while loading segments
2023-08-04 10:07:06 +08:00
enableDisk : false # enable querynode load disk index, and search on disk index
2023-02-23 11:37:46 +08:00
maxDiskUsagePercentage : 95
2022-04-07 22:05:32 +08:00
cache :
2024-04-16 16:17:19 +08:00
enabled : true
memoryLimit : 2147483648 # 2 GB, 2 * 1024 *1024 *1024
2023-09-28 15:47:27 +08:00
readAheadPolicy: willneed # The read ahead policy of chunk cache, options : `normal, random, sequential, willneed, dontneed`
2024-06-07 14:21:59 +08:00
# options: async, sync, disable.
2024-04-16 16:17:19 +08:00
# Specifies the necessity for warming up the chunk cache.
2024-06-07 14:21:59 +08:00
# 1. If set to "sync" or "async" the original vector data will be synchronously/asynchronously loaded into the
2024-04-16 16:17:19 +08:00
# chunk cache during the load process. This approach has the potential to substantially reduce query/search latency
# for a specific duration post-load, albeit accompanied by a concurrent increase in disk usage;
2024-05-29 12:17:43 +08:00
# 2. If set to "disable" original vector data will only be loaded into the chunk cache during search/query.
warmup : disable
2024-04-16 16:17:19 +08:00
mmap :
mmapEnabled : false # Enable mmap for loading data
2024-06-18 14:42:00 +08:00
growingMmapEnabled : false # Enable mmap for growing segment
fixedFileSizeForMmapAlloc : 4 #MB, fixed file size for mmap chunk manager to store chunk data
maxDiskUsagePercentageForMmapAlloc : 20 # max percentage of disk usage in memory mapping
2024-05-13 13:33:31 +08:00
lazyload :
enabled : false # Enable lazyload for loading data
waitTimeout : 30000 # max wait timeout duration in milliseconds before start to do lazyload search and retrieve
requestResourceTimeout : 5000 # max timeout in milliseconds for waiting request resource for lazy load, 5s by default
requestResourceRetryInterval : 2000 # retry interval in milliseconds for waiting request resource for lazy load, 2s by default
maxRetryTimes : 1 # max retry times for lazy load, 1 by default
maxEvictPerRetry : 1 # max evict count for lazy load, 1 by default
2023-02-23 11:37:46 +08:00
grouping :
enabled : true
2023-07-07 15:40:25 +08:00
maxNQ : 1000
2023-04-27 18:26:35 +08:00
topKMergeRatio : 20
2022-07-04 15:10:20 +08:00
scheduler :
2022-05-23 16:41:58 +08:00
receiveChanSize : 10240
unsolvedQueueSize : 10240
2022-08-30 19:50:57 +08:00
# maxReadConcurrentRatio is the concurrency ratio of read task (search task and query task).
2024-04-16 16:17:19 +08:00
# Max read concurrency would be the value of hardware.GetCPUNum * maxReadConcurrentRatio.
# It defaults to 2.0, which means max read concurrency would be the value of hardware.GetCPUNum * 2.
# Max read concurrency must greater than or equal to 1, and less than or equal to hardware.GetCPUNum * 100.
2023-02-23 11:37:46 +08:00
# (0, 100]
2023-04-27 18:26:35 +08:00
maxReadConcurrentRatio : 1
2023-02-23 11:37:46 +08:00
cpuRatio : 10 # ratio used to estimate read task cpu usage.
2022-12-29 15:17:30 +08:00
maxTimestampLag : 86400
2023-07-03 18:24:25 +08:00
scheduleReadPolicy :
# fifo: A FIFO queue support the schedule.
# user-task-polling:
2024-04-16 16:17:19 +08:00
# The user's tasks will be polled one by one and scheduled.
# Scheduling is fair on task granularity.
# The policy is based on the username for authentication.
# And an empty username is considered the same user.
# When there are no multi-users, the policy decay into FIFO"
2023-07-03 18:24:25 +08:00
name : fifo
2024-04-16 16:17:19 +08:00
taskQueueExpire : 60 # Control how long (many seconds) that queue retains since queue is empty
enableCrossUserGrouping : false # Enable Cross user grouping when using user-task-polling policy. (Disable it if user's task can not merge each other)
maxPendingTaskPerUser : 1024 # Max pending task per user in scheduler
dataSync :
flowGraph :
maxQueueLength : 16 # Maximum length of task queue in flowgraph
maxParallelism : 1024 # Maximum number of tasks executed in parallel in the flowgraph
enableSegmentPrune : false # use partition prune function on shard delegator
2024-05-27 18:15:43 +08:00
queryStreamBatchSize : 4194304 # return batch size of stream query
2024-04-16 16:17:19 +08:00
ip : # if not specified, use the first unicastable address
2023-02-23 11:37:46 +08:00
port : 21123
grpc :
serverMaxSendSize : 536870912
2024-01-05 15:56:47 +08:00
serverMaxRecvSize : 268435456
2023-02-23 11:37:46 +08:00
clientMaxSendSize : 268435456
2024-01-05 15:56:47 +08:00
clientMaxRecvSize : 536870912
2022-05-23 16:41:58 +08:00
2023-01-31 12:07:50 +08:00
indexCoord :
bindIndexNodeMode :
enable : false
2023-02-23 11:37:46 +08:00
address : localhost:22930
2023-01-31 12:07:50 +08:00
withCred : false
nodeID : 0
2023-02-23 11:37:46 +08:00
segment :
minSegmentNumRowsToEnableIndex : 1024 # It's a threshold. When the segment num rows is less than this value, the segment will not be indexed
2023-02-05 17:21:53 +08:00
2021-02-23 18:08:17 +08:00
indexNode :
2023-02-23 11:37:46 +08:00
scheduler :
buildParallel : 1
2022-09-21 20:16:51 +08:00
enableDisk : true # enable index node build disk vector index
maxDiskUsagePercentage : 95
2024-04-16 16:17:19 +08:00
ip : # if not specified, use the first unicastable address
2023-02-23 11:37:46 +08:00
port : 21121
grpc :
serverMaxSendSize : 536870912
2024-01-05 15:56:47 +08:00
serverMaxRecvSize : 268435456
2023-02-23 11:37:46 +08:00
clientMaxSendSize : 268435456
2024-01-05 15:56:47 +08:00
clientMaxRecvSize : 536870912
2022-07-07 14:44:21 +08:00
2021-06-21 18:22:13 +08:00
dataCoord :
2022-11-29 17:19:14 +08:00
channel :
2023-06-21 21:26:42 +08:00
watchTimeoutInterval : 300 # Timeout on watching channels (in seconds). Datanode tickler update watch progress will reset timeout timer.
2024-06-27 19:36:06 +08:00
legacyVersionWithoutRPCWatch : 2.4 .1 # Datanodes <= this version are considered as legacy nodes, which doesn't have rpc based watch(). This is only used during rolling upgrade where legacy nodes won't get new channels
2024-04-16 16:17:19 +08:00
balanceSilentDuration : 300 # The duration after which the channel manager start background channel balancing
balanceInterval : 360 # The interval with which the channel manager check dml channel balance status
2024-05-10 17:29:31 +08:00
checkInterval : 1 # The interval in seconds with which the channel manager advances channel states
2024-04-16 16:17:19 +08:00
notifyChannelOperationTimeout : 5 # Timeout notifing channel operations (in seconds).
2021-11-12 18:53:11 +08:00
segment :
2024-01-29 10:17:02 +08:00
maxSize : 1024 # Maximum size of a segment in MB
2024-04-16 16:17:19 +08:00
diskSegmentMaxSize : 2048 # Maximun size of a segment in MB for collection which has Disk index
2024-01-29 10:17:02 +08:00
sealProportion : 0.12
2024-07-15 14:47:39 +08:00
# segment seal proportion jitter ratio, default value 0.1(10%),
# if seal propertion is 12%, with jitter=0.1, the actuall applied ratio will be 10.8~12%
sealProportionJitter : 0.1 #
2024-04-16 16:17:19 +08:00
assignmentExpiration : 2000 # The time of the assignment expiration in ms
allocLatestExpireAttempt : 200 # The time attempting to alloc latest lastExpire from rootCoord after restart
2022-09-29 21:53:31 +08:00
maxLife : 86400 # The max lifetime of segment in seconds, 24*60*60
2023-02-23 11:37:46 +08:00
# If a segment didn't accept dml records in maxIdleTime and the size of segment is greater than
# minSizeFromIdleToSealed, Milvus will automatically seal it.
# The max idle time of segment in seconds, 10*60.
maxIdleTime : 600
2022-09-29 21:53:31 +08:00
minSizeFromIdleToSealed : 16 # The min size in MB of segment which can be idle from sealed.
2023-02-23 11:37:46 +08:00
# The max number of binlog file for one segment, the segment will be sealed if
# the number of binlog file reaches to max value.
2023-02-13 10:24:33 +08:00
maxBinlogFileNumber : 32
2024-07-17 21:45:41 +08:00
# The size threshold in MB, if the total size of growing segments
# exceeds this threshold, the largest growing segment will be sealed.
totalGrowingSizeThresholdInMB : 4096
2022-12-06 14:37:18 +08:00
smallProportion : 0.5 # The segment is considered as "small segment" when its # of rows is smaller than
# (smallProportion * segment max # of rows).
2023-02-23 11:37:46 +08:00
# A compaction will happen on small segments if the segment after compaction will have
2023-07-26 14:49:01 +08:00
compactableProportion : 0.85
2022-12-06 14:37:18 +08:00
# over (compactableProportion * segment max # of rows) rows.
2022-12-16 10:01:23 +08:00
# MUST BE GREATER THAN OR EQUAL TO <smallProportion>!!!
2024-04-16 16:17:19 +08:00
# During compaction, the size of segment # of rows is able to exceed segment max # of rows by (expansionRate-1) * 100%.
2023-02-23 11:37:46 +08:00
expansionRate : 1.25
2024-07-12 18:59:35 +08:00
segmentFlushInterval: 2 # the minimal interval duration(unit : Seconds) between flusing operation on same segment
2024-04-16 16:17:19 +08:00
autoUpgradeSegmentIndex : false # whether auto upgrade segment index to index engine's version
2023-02-23 11:37:46 +08:00
enableCompaction : true # Enable data segment compaction
2021-11-16 11:47:10 +08:00
compaction :
2021-12-10 14:41:14 +08:00
enableAutoCompaction : true
2023-07-23 21:31:00 +08:00
indexBasedCompaction : true
2024-04-16 16:17:19 +08:00
rpcTimeout : 10
maxParallelTaskNum : 10
workerMaxParallelTaskNum : 2
2024-06-06 17:37:51 +08:00
clustering :
enable : true
autoEnable : false
triggerInterval : 600
stateCheckInterval : 10
gcInterval : 600
minInterval : 3600
maxInterval : 259200
newDataRatioThreshold : 0.2
newDataSizeThreshold : 512m
timeout : 7200
dropTolerance : 86400
# clustering compaction will try best to distribute data into segments with size range in [preferSegmentSize, maxSegmentSize].
# data will be clustered by preferSegmentSize, if a cluster is larger than maxSegmentSize, will spilt it into multi segment
# buffer between (preferSegmentSize, maxSegmentSize) is left for new data in the same cluster(range), to avoid globally redistribute too often
preferSegmentSize : 512m
maxSegmentSize : 1024m
maxTrainSizeRatio : 0.8 # max data size ratio in analyze, if data is larger than it, will down sampling to meet this limit
maxCentroidsNum : 10240
minCentroidsNum : 16
minClusterSizeRatio : 0.01
maxClusterSizeRatio : 10
maxClusterSize : 5g
2023-11-13 11:18:19 +08:00
levelzero :
forceTrigger :
2024-02-01 20:39:03 +08:00
minSize : 8388608 # The minmum size in bytes to force trigger a LevelZero Compaction, default as 8MB
2024-04-16 16:17:19 +08:00
maxSize : 67108864 # The maxmum size in bytes to force trigger a LevelZero Compaction, default as 64MB
deltalogMinNum : 10 # The minimum number of deltalog files to force trigger a LevelZero Compaction
deltalogMaxNum : 30 # The maxmum number of deltalog files to force trigger a LevelZero Compaction, default as 30
enableGarbageCollection : true
gc :
2024-06-19 09:57:59 +08:00
interval : 3600 # meta-based gc scanning interval in seconds
missingTolerance : 86400 # orphan file gc tolerance duration in seconds (orphan file which last modified time before the tolerance interval ago will be deleted)
dropTolerance : 10800 # meta-based gc tolerace duration in seconds (file which meta is marked as dropped before the tolerace interval ago will be deleted)
2024-04-16 16:17:19 +08:00
removeConcurrent : 32 # number of concurrent goroutines to remove dropped s3 objects
2024-06-19 09:57:59 +08:00
scanInterval : 168 # orphan file (file on oss but has not been registered on meta) on object storage garbage collection scanning interval in hours
2024-04-16 16:17:19 +08:00
enableActiveStandby : false
brokerTimeout : 5000 # 5000ms, dataCoord broker rpc timeout
autoBalance : true # Enable auto balance
checkAutoBalanceConfigInterval : 10 # the interval of check auto balance config
2024-01-31 20:45:04 +08:00
import :
filesPerPreImportTask : 2 # The maximum number of files allowed per pre-import task.
taskRetention : 10800 # The retention period in seconds for tasks in the Completed or Failed state.
2024-04-16 16:17:19 +08:00
maxSizeInMBPerImportTask : 6144 # To prevent generating of small segments, we will re-group imported files. This parameter represents the sum of file sizes in each group (each ImportTask).
scheduleInterval : 2 # The interval for scheduling import, measured in seconds.
checkIntervalHigh : 2 # The interval for checking import, measured in seconds, is set to a high frequency for the import checker.
checkIntervalLow : 120 # The interval for checking import, measured in seconds, is set to a low frequency for the import checker.
2024-03-22 18:13:06 +08:00
maxImportFileNumPerReq : 1024 # The maximum number of files allowed per single import request.
2024-04-01 20:09:13 +08:00
waitForIndex : true # Indicates whether the import operation waits for the completion of index building.
2024-04-16 16:17:19 +08:00
gracefulStopTimeout : 5 # seconds. force stop node without graceful stop
ip : # if not specified, use the first unicastable address
2023-02-23 11:37:46 +08:00
port : 13333
grpc :
serverMaxSendSize : 536870912
2024-01-05 15:56:47 +08:00
serverMaxRecvSize : 268435456
2023-02-23 11:37:46 +08:00
clientMaxSendSize : 268435456
2024-01-05 15:56:47 +08:00
clientMaxRecvSize : 536870912
2024-05-30 13:37:44 +08:00
syncSegmentsInterval : 300
2024-07-18 10:27:41 +08:00
slot :
clusteringCompactionUsage : 16
mixCompactionUsage : 8
l0DeleteCompactionUsage : 8
2021-11-18 22:29:40 +08:00
2021-01-24 21:20:11 +08:00
dataNode :
2021-11-12 18:53:11 +08:00
dataSync :
flowGraph :
2023-08-09 10:05:14 +08:00
maxQueueLength : 16 # Maximum length of task queue in flowgraph
2021-11-12 18:53:11 +08:00
maxParallelism : 1024 # Maximum number of tasks executed in parallel in the flowgraph
2024-04-16 16:17:19 +08:00
maxParallelSyncMgrTasks : 256 # The max concurrent sync task number of datanode sync mgr globally
2023-12-07 01:00:37 +08:00
skipMode :
2024-04-16 16:17:19 +08:00
enable : true # Support skip some timetick message to reduce CPU usage
skipNum : 4 # Consume one for every n records skipped
coldTime : 60 # Turn on skip mode after there are only timetick msg for x seconds
2022-11-12 21:09:04 +08:00
segment :
2023-02-23 11:37:46 +08:00
insertBufSize : 16777216 # Max buffer size to flush for a single segment.
2024-05-24 10:41:40 +08:00
deleteBufBytes : 16777216 # Max buffer size in bytes to flush del for a single channel, default as 16MB
2023-02-23 11:37:46 +08:00
syncPeriod : 600 # The period to sync segments if buffer is not empty.
2023-02-27 17:47:51 +08:00
memory :
2024-04-16 16:17:19 +08:00
forceSyncEnable : true # Set true to force sync if memory usage is too high
2023-03-21 21:37:56 +08:00
forceSyncSegmentNum : 1 # number of segments to sync, segments with top largest buffer will be synced.
2024-04-16 16:17:19 +08:00
checkInterval : 3000 # the interal to check datanode memory usage, in milliseconds
forceSyncWatermark : 0.5 # memory watermark for standalone, upon reaching this watermark, segments will be synced.
2023-06-14 14:16:38 +08:00
timetick :
2024-04-16 16:17:19 +08:00
interval : 500
2023-10-19 08:28:08 +08:00
channel :
# specify the size of global work pool of all channels
# if this parameter <= 0, will set it as the maximum number of CPUs that can be executing
# suggest to set it bigger on large collection numbers to avoid blocking
workPoolSize : -1
2024-03-07 20:39:02 +08:00
updateChannelCheckpointMaxParallel : 10
2024-04-16 16:17:19 +08:00
updateChannelCheckpointInterval : 60 # the interval duration(in seconds) for datanode to update channel checkpoint of each channel
updateChannelCheckpointRPCTimeout : 20 # timeout in seconds for UpdateChannelCheckpoint RPC call
maxChannelCheckpointsPerPRC : 128 # The maximum number of channel checkpoints per UpdateChannelCheckpoint RPC.
channelCheckpointUpdateTickInSeconds : 10 # The frequency, in seconds, at which the channel checkpoint updater executes updates.
2024-01-31 20:45:04 +08:00
import :
maxConcurrentTaskNum : 16 # The maximum number of import/pre-import tasks allowed to run concurrently on a datanode.
2024-03-22 18:13:06 +08:00
maxImportFileSizeInGB : 16 # The maximum file size (in GB) for an import file, where an import file refers to either a Row-Based file or a set of Column-Based files.
2024-04-08 21:07:18 +08:00
readBufferSizeInMB : 16 # The data block size (in MB) read from chunk manager by the datanode during import.
2024-04-16 16:17:19 +08:00
compaction :
levelZeroBatchMemoryRatio : 0.05 # The minimal memory ratio of free memory for level zero compaction executing in batch mode
2024-07-04 10:16:17 +08:00
levelZeroMaxBatchSize: -1 # Max batch size refers to the max number of L1/L2 segments in a batch when executing L0 compaction. Default to -1, any value that is less than 1 means no limit. Valid range : >= 1.
2024-04-16 16:17:19 +08:00
gracefulStopTimeout : 1800 # seconds. force stop node without graceful stop
ip : # if not specified, use the first unicastable address
port : 21124
grpc :
serverMaxSendSize : 536870912
serverMaxRecvSize : 268435456
clientMaxSendSize : 268435456
clientMaxRecvSize : 536870912
2024-05-17 18:19:38 +08:00
slot :
2024-07-18 10:27:41 +08:00
slotCap : 16 # The maximum number of tasks(e.g. compaction, importing) allowed to run concurrently on a datanode.
2021-11-12 18:53:11 +08:00
2024-06-06 17:37:51 +08:00
clusteringCompaction :
memoryBufferRatio : 0.1 # The ratio of memory buffer of clustering compaction. Data larger than threshold will be spilled to storage.
2024-07-18 10:27:41 +08:00
workPoolSize : 8
2024-06-06 17:37:51 +08:00
2021-09-09 18:48:02 +08:00
# Configures the system log output.
2021-02-19 15:37:04 +08:00
log :
2023-05-24 10:15:25 +08:00
level : info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
2021-02-19 15:37:04 +08:00
file :
2024-04-16 16:17:19 +08:00
rootPath : # root dir path to put logs, default "" means no log file will print. please adjust in embedded Milvus: /tmp/milvus/logs
2021-02-19 15:37:04 +08:00
maxSize : 300 # MB
2021-12-01 13:09:49 +08:00
maxAge : 10 # Maximum time for log retention in day.
2021-02-19 15:37:04 +08:00
maxBackups : 20
2023-02-23 11:37:46 +08:00
format : text # text or json
stdout : true # Stdout enable or not
2021-09-26 19:46:17 +08:00
2022-05-05 10:35:50 +08:00
grpc :
log :
level : WARNING
2024-04-16 16:17:19 +08:00
gracefulStopTimeout : 10 # second, time to wait graceful stop finish
2022-05-05 10:35:50 +08:00
client :
2023-10-24 22:14:14 +08:00
compressionEnabled : false
2023-05-29 10:03:28 +08:00
dialTimeout : 200
2022-10-08 15:38:58 +08:00
keepAliveTime : 10000
2022-06-13 11:54:08 +08:00
keepAliveTimeout : 20000
2023-09-06 17:43:14 +08:00
maxMaxAttempts : 10
2024-04-16 16:17:19 +08:00
initialBackoff : 0.2
maxBackoff : 10
minResetInterval : 1000
maxCancelError : 32
minSessionCheckInterval : 200
2022-05-05 10:35:50 +08:00
2022-05-10 20:05:53 +08:00
# Configure the proxy tls enable.
tls :
serverPemPath : configs/cert/server.pem
serverKeyPath : configs/cert/server.key
caPemPath : configs/cert/ca.pem
2022-03-04 11:17:56 +08:00
common :
2023-02-23 11:37:46 +08:00
defaultPartitionName : _default # default partition name for a collection
defaultIndexName : _default_idx # default index name
2023-09-04 17:41:48 +08:00
entityExpiration : -1 # Entity expiration in seconds, CAUTION -1 means never expire
2023-02-23 11:37:46 +08:00
indexSliceSize : 16 # MB
2023-08-03 09:31:07 +08:00
threadCoreCoefficient :
2024-04-16 16:17:19 +08:00
highPriority : 10 # This parameter specify how many times the number of threads is the number of cores in high priority pool
middlePriority : 5 # This parameter specify how many times the number of threads is the number of cores in middle priority pool
lowPriority : 1 # This parameter specify how many times the number of threads is the number of cores in low priority pool
2024-01-30 16:47:03 +08:00
buildIndexThreadPoolRatio : 0.75
2023-02-23 11:37:46 +08:00
DiskIndex :
MaxDegree : 56
SearchListSize : 100
PQCodeBudgetGBRatio : 0.125
BuildNumThreadsRatio : 1
SearchCacheBudgetGBRatio : 0.1
LoadNumThreadRatio : 8
BeamWidthRatio : 4
2022-05-24 12:05:59 +08:00
gracefulTime : 5000 # milliseconds. it represents the interval (in ms) by which the request arrival time needs to be subtracted in the case of Bounded Consistency.
2023-08-22 09:04:21 +08:00
gracefulStopTimeout : 1800 # seconds. it will force quit the server if the graceful stop process is not completed during this time.
2023-11-30 11:34:27 +08:00
storageType: remote # please adjust in embedded Milvus : local, available values are [local, remote, opendal], value minio is deprecated, use remote instead
2021-11-01 10:26:03 +08:00
# Default value: auto
2021-11-08 10:21:04 +08:00
# Valid values: [auto, avx512, avx2, avx, sse4_2]
2021-11-01 10:26:03 +08:00
# This configuration is only used by querynode and indexnode, it selects CPU instruction set for Searching and Index-building.
simdType : auto
2022-04-19 16:35:39 +08:00
security :
authorizationEnabled : false
2022-12-09 16:13:20 +08:00
# The superusers will ignore some system check processes,
# like the old password verification when updating the credential
2024-04-16 16:17:19 +08:00
superUsers :
2022-06-02 18:56:04 +08:00
tlsMode : 0
2024-07-17 20:19:42 +08:00
defaultRootPassword : Milvus
2022-09-29 18:35:02 +08:00
session :
2023-11-06 21:21:42 +08:00
ttl : 30 # ttl value when session granting a lease to register service
2022-09-29 18:35:02 +08:00
retryTimes : 30 # retry times when session sending etcd requests
2023-08-03 15:03:06 +08:00
locks :
metrics :
2024-04-16 16:17:19 +08:00
enable : false # whether gather statistics for metrics locks
2023-08-03 15:03:06 +08:00
threshold :
info : 500 # minimum milliseconds for printing durations in info level
warn : 1000 # minimum milliseconds for printing durations in warn level
2024-04-16 16:17:19 +08:00
storage :
scheme : s3
enablev2 : false
2023-10-20 14:26:09 +08:00
ttMsgEnabled : true # Whether the instance disable sending ts messages
2024-04-16 16:17:19 +08:00
traceLogMode : 0 # trace request info
bloomFilterSize : 100000 # bloom filter initial size
2024-05-23 18:15:41 +08:00
maxBloomFalsePositive : 0.001 # max false positive rate for bloom filter
2024-06-25 18:52:04 +08:00
# clustering key/compaction related
2024-06-06 17:37:51 +08:00
usePartitionKeyAsClusteringKey : false
useVectorAsClusteringKey : false
2024-06-25 18:52:04 +08:00
enableVectorClusteringKey : false
2023-08-03 15:03:06 +08:00
2022-09-16 09:56:47 +08:00
# QuotaConfig, configurations of Milvus quota and limits.
# By default, we enable:
# 1. TT protection;
# 2. Memory protection.
2022-10-12 10:03:22 +08:00
# 3. Disk quota protection.
2022-09-16 09:56:47 +08:00
# You can enable:
# 1. DML throughput limitation;
# 2. DDL, DQL qps/rps limitation;
# 3. DQL Queue length/latency protection;
2022-10-13 14:57:24 +08:00
# 4. DQL result rate protection;
2022-09-16 09:56:47 +08:00
# If necessary, you can also manually force to deny RW requests.
quotaAndLimits :
2022-10-17 16:23:25 +08:00
enabled : true # `true` to enable quota and limits, `false` to disable.
2022-09-16 09:56:47 +08:00
# quotaCenterCollectInterval is the time interval that quotaCenter
2022-10-09 14:30:58 +08:00
# collects metrics from Proxies, Query cluster and Data cluster.
2023-02-23 11:37:46 +08:00
# seconds, (0 ~ 65536)
quotaCenterCollectInterval : 3
2024-05-23 20:03:40 +08:00
limits :
allocRetryTimes : 15 # retry times when delete alloc forward data from rate limit failed
allocWaitInterval : 1000 # retry wait duration when delete alloc forward data rate failed, in millisecond
complexDeleteLimitEnable : false # whether complex delete check forward data by limiter
maxCollectionNum : 65536
maxCollectionNumPerDB : 65536
maxInsertSize : -1 # maximum size of a single insert request, in bytes, -1 means no limit
maxResourceGroupNumOfQueryNode : 1024 # maximum number of resource groups of query nodes
2023-02-23 11:37:46 +08:00
ddl :
2022-09-26 16:48:53 +08:00
enabled : false
2022-10-13 14:57:24 +08:00
collectionRate : -1 # qps, default no limit, rate for CreateCollection, DropCollection, LoadCollection, ReleaseCollection
partitionRate : -1 # qps, default no limit, rate for CreatePartition, DropPartition, LoadPartition, ReleasePartition
2024-04-19 16:47:20 +08:00
db :
collectionRate : -1 # qps of db level , default no limit, rate for CreateCollection, DropCollection, LoadCollection, ReleaseCollection
partitionRate : -1 # qps of db level, default no limit, rate for CreatePartition, DropPartition, LoadPartition, ReleasePartition
2022-10-09 14:30:58 +08:00
indexRate :
enabled : false
2022-10-13 14:57:24 +08:00
max : -1 # qps, default no limit, rate for CreateIndex, DropIndex
2024-04-19 16:47:20 +08:00
db :
max : -1 # qps of db level, default no limit, rate for CreateIndex, DropIndex
2022-10-09 14:30:58 +08:00
flushRate :
2024-06-24 10:52:03 +08:00
enabled : true
2022-10-13 14:57:24 +08:00
max : -1 # qps, default no limit, rate for flush
2024-02-18 15:32:50 +08:00
collection :
2024-06-24 10:52:03 +08:00
max : 0.1 # qps, default no limit, rate for flush at collection level.
2024-04-19 16:47:20 +08:00
db :
max : -1 # qps of db level, default no limit, rate for flush
2022-10-09 14:30:58 +08:00
compactionRate :
enabled : false
2022-10-13 14:57:24 +08:00
max : -1 # qps, default no limit, rate for manualCompaction
2024-04-19 16:47:20 +08:00
db :
max : -1 # qps of db level, default no limit, rate for manualCompaction
2022-09-16 09:56:47 +08:00
dml :
2023-02-23 11:37:46 +08:00
# dml limit rates, default no limit.
# The maximum rate will not be greater than max.
2022-09-26 16:48:53 +08:00
enabled : false
2022-09-16 09:56:47 +08:00
insertRate :
2024-04-16 16:17:19 +08:00
max : -1 # MB/s, default no limit
2024-04-19 16:47:20 +08:00
db :
max : -1 # MB/s, default no limit
2023-05-12 18:13:26 +08:00
collection :
max : -1 # MB/s, default no limit
2024-04-19 16:47:20 +08:00
partition :
max : -1 # MB/s, default no limit
2023-07-11 11:20:34 +08:00
upsertRate :
2024-04-16 16:17:19 +08:00
max : -1 # MB/s, default no limit
2024-04-19 16:47:20 +08:00
db :
max : -1 # MB/s, default no limit
2023-07-11 11:20:34 +08:00
collection :
max : -1 # MB/s, default no limit
2024-04-19 16:47:20 +08:00
partition :
max : -1 # MB/s, default no limit
2022-09-16 09:56:47 +08:00
deleteRate :
2024-04-16 16:17:19 +08:00
max : -1 # MB/s, default no limit
2024-04-19 16:47:20 +08:00
db :
max : -1 # MB/s, default no limit
2023-05-12 18:13:26 +08:00
collection :
max : -1 # MB/s, default no limit
2024-04-19 16:47:20 +08:00
partition :
max : -1 # MB/s, default no limit
2023-02-23 11:37:46 +08:00
bulkLoadRate :
max: -1 # MB/s, default no limit, not support yet. TODO : limit bulkLoad rate
2024-04-19 16:47:20 +08:00
db :
max: -1 # MB/s, default no limit, not support yet. TODO : limit db bulkLoad rate
2024-04-16 16:17:19 +08:00
collection :
max: -1 # MB/s, default no limit, not support yet. TODO : limit collection bulkLoad rate
2024-04-19 16:47:20 +08:00
partition :
max: -1 # MB/s, default no limit, not support yet. TODO : limit partition bulkLoad rate
2022-09-16 09:56:47 +08:00
dql :
2023-02-23 11:37:46 +08:00
# dql limit rates, default no limit.
# The maximum rate will not be greater than max.
2022-09-26 16:48:53 +08:00
enabled : false
2022-09-16 09:56:47 +08:00
searchRate :
2024-04-16 16:17:19 +08:00
max : -1 # vps (vectors per second), default no limit
2024-04-19 16:47:20 +08:00
db :
max : -1 # vps (vectors per second), default no limit
2023-05-12 18:13:26 +08:00
collection :
max : -1 # vps (vectors per second), default no limit
2024-04-19 16:47:20 +08:00
partition :
max : -1 # vps (vectors per second), default no limit
2022-09-16 09:56:47 +08:00
queryRate :
2024-04-16 16:17:19 +08:00
max : -1 # qps, default no limit
2024-04-19 16:47:20 +08:00
db :
max : -1 # qps, default no limit
2023-05-12 18:13:26 +08:00
collection :
max : -1 # qps, default no limit
2024-04-19 16:47:20 +08:00
partition :
max : -1 # qps, default no limit
2022-09-16 09:56:47 +08:00
limitWriting :
2023-02-23 11:37:46 +08:00
# forceDeny false means dml requests are allowed (except for some
# specific conditions, such as memory of nodes to water marker), true means always reject all dml requests.
2022-09-16 09:56:47 +08:00
forceDeny : false
2022-09-26 16:48:53 +08:00
ttProtection :
2022-11-17 20:21:14 +08:00
enabled : false
2022-09-26 16:48:53 +08:00
# maxTimeTickDelay indicates the backpressure for DML Operations.
# DML rates would be reduced according to the ratio of time tick delay to maxTimeTickDelay,
# if time tick delay is greater than maxTimeTickDelay, all DML requests would be rejected.
2023-02-23 11:37:46 +08:00
# seconds
maxTimeTickDelay : 300
2022-09-26 16:48:53 +08:00
memProtection :
# When memory usage > memoryHighWaterLevel, all dml requests would be rejected;
# When memoryLowWaterLevel < memory usage < memoryHighWaterLevel, reduce the dml rate;
# When memory usage < memoryLowWaterLevel, no action.
2023-02-23 11:37:46 +08:00
enabled : true
2022-10-09 14:30:58 +08:00
dataNodeMemoryLowWaterLevel : 0.85 # (0, 1], memoryLowWaterLevel in DataNodes
dataNodeMemoryHighWaterLevel : 0.95 # (0, 1], memoryHighWaterLevel in DataNodes
queryNodeMemoryLowWaterLevel : 0.85 # (0, 1], memoryLowWaterLevel in QueryNodes
queryNodeMemoryHighWaterLevel : 0.95 # (0, 1], memoryHighWaterLevel in QueryNodes
2023-05-17 09:57:22 +08:00
growingSegmentsSizeProtection :
2023-08-08 12:43:07 +08:00
# No action will be taken if the growing segments size is less than the low watermark.
# When the growing segments size exceeds the low watermark, the dml rate will be reduced,
2024-04-16 16:17:19 +08:00
# but the rate will not be lower than minRateRatio * dmlRate.
2023-05-17 09:57:22 +08:00
enabled : false
2023-08-08 12:43:07 +08:00
minRateRatio : 0.5
2023-05-17 09:57:22 +08:00
lowWaterLevel : 0.2
highWaterLevel : 0.4
2022-10-12 10:03:22 +08:00
diskProtection :
2023-02-23 11:37:46 +08:00
enabled : true # When the total file size of object storage is greater than `diskQuota`, all dml requests would be rejected;
2022-10-19 15:13:26 +08:00
diskQuota : -1 # MB, (0, +inf), default no limit
2024-04-19 16:47:20 +08:00
diskQuotaPerDB : -1 # MB, (0, +inf), default no limit
2023-04-26 21:52:36 +08:00
diskQuotaPerCollection : -1 # MB, (0, +inf), default no limit
2024-04-19 16:47:20 +08:00
diskQuotaPerPartition : -1 # MB, (0, +inf), default no limit
2022-09-16 09:56:47 +08:00
limitReading :
2023-02-23 11:37:46 +08:00
# forceDeny false means dql requests are allowed (except for some
# specific conditions, such as collection has been dropped), true means always reject all dql requests.
2022-09-16 09:56:47 +08:00
forceDeny : false
2022-09-26 16:48:53 +08:00
queueProtection :
enabled : false
# nqInQueueThreshold indicated that the system was under backpressure for Search/Query path.
# If NQ in any QueryNode's queue is greater than nqInQueueThreshold, search&query rates would gradually cool off
# until the NQ in queue no longer exceeds nqInQueueThreshold. We think of the NQ of query request as 1.
2023-02-23 11:37:46 +08:00
# int, default no limit
nqInQueueThreshold : -1
2022-09-26 16:48:53 +08:00
# queueLatencyThreshold indicated that the system was under backpressure for Search/Query path.
# If dql latency of queuing is greater than queueLatencyThreshold, search&query rates would gradually cool off
# until the latency of queuing no longer exceeds queueLatencyThreshold.
# The latency here refers to the averaged latency over a period of time.
2023-02-23 11:37:46 +08:00
# milliseconds, default no limit
queueLatencyThreshold : -1
2022-10-13 14:57:24 +08:00
resultProtection :
enabled : false
# maxReadResultRate indicated that the system was under backpressure for Search/Query path.
# If dql result rate is greater than maxReadResultRate, search&query rates would gradually cool off
# until the read result rate no longer exceeds maxReadResultRate.
2023-02-23 11:37:46 +08:00
# MB/s, default no limit
maxReadResultRate : -1
2024-04-19 16:47:20 +08:00
maxReadResultRatePerDB : -1
maxReadResultRatePerCollection : -1
2023-02-23 11:37:46 +08:00
# colOffSpeed is the speed of search&query rates cool off.
# (0, 1]
coolOffSpeed : 0.9
2023-01-12 16:09:39 +08:00
trace :
2023-02-23 11:37:46 +08:00
# trace exporter type, default is stdout,
2024-05-09 17:43:30 +08:00
# optional values: ['noop','stdout', 'jaeger', 'otlp']
exporter : noop
2023-01-12 16:09:39 +08:00
# fraction of traceID based sampler,
# optional values: [0, 1]
# Fractions >= 1 will always sample. Fractions < 0 are treated as zero.
sampleFraction : 0
2024-04-16 16:17:19 +08:00
jaeger :
url : # when exporter is jaeger should set the jaeger's URL
2023-12-12 11:14:37 +08:00
otlp :
2024-04-16 16:17:19 +08:00
endpoint: # example : "127.0.0.1:4318"
2023-12-12 11:14:37 +08:00
secure : true
2023-12-26 11:04:47 +08:00
2024-03-25 14:41:07 +08:00
#when using GPU indexing, Milvus will utilize a memory pool to avoid frequent memory allocation and deallocation.
#here, you can set the size of the memory occupied by the memory pool, with the unit being MB.
#note that there is a possibility of Milvus crashing when the actual memory demand exceeds the value set by maxMemSize.
#if initMemSize and MaxMemSize both set zero,
#milvus will automatically initialize half of the available GPU memory,
#maxMemSize will the whole available GPU memory.
2023-12-26 11:04:47 +08:00
gpu :
2024-04-16 16:17:19 +08:00
initMemSize : # Gpu Memory Pool init size
maxMemSize : # Gpu Memory Pool Max size