Milvus Standalone System Configurations

Milvus standalone maintains many system variables that configure the operation. All configurations can be set manually before server startup. Each configuration has a default value, which can be used directly.

All parameters take effect only after being configured at the startup of Milvus.

If you are an administrator of Milvus, you may access the following configurations to maintain the system operation.

etcd Configurations

etcd is the metadata engine supporting Milvus' metadata storage and access. You can set these configurations in milvus.yaml.

You do not need to change this session if you use the default milvus-standalone-docker-compose.yml for third-party services.

Configuration Description Default Value
etcd.endpoints
Endpoints of etcd
  • Environment variable: ETCD_ENDPOINTS
  • Access etcd service with etcd.endpoints.
  • etcd preferentially acquires valid address from environment variable ETCD_ENDPOINTS when Milvus is booted up.
  • You can change this parameter as the endpoints of your own etcd cluster.
  • localhost:2379
    etcd.rootPath
    Root of key prefix to etcd
  • Milvus stores data in etcd with this root key prefix.
  • Be careful with changing this configuration if you have used Milvus for a period of time. Changes to this configuration will affect your access to old data.
  • We recommend changing this configuration before using Milvus for the first time.
  • Set an easy-to-identify root key prefix for Milvus if etcd already exists. We recommend setting it as "milvus-root".
  • "by-dev"

    MinIO/S3 Configurations

    Milvus supports MinIO and Amazon S3 as the storage engine for data persistence of insert log files and index files. Whereas MinIO is the de facto standard for S3 compatibility, you can configure S3 parameters directly under MinIO section. You can set these configurations in milvus.yaml under milvus/configs directory.

    You do not need to change this session if you use the default milvus-standalone-docker-compose.yml for third-party services.

    Configuration Description Default Value
    minio.address
    IP address of MinIO/S3
  • Environment variable: MINIO_ADDRESS
  • Access MinIO/S3 service with minio.address. minio.address and minio.port together generate the valid access to MinIO/S3.
  • MinIO preferentially acquires the valid address from the environment variable MINIO_ADDRESS when Milvus is booted up.
  • Default value applies when MinIO/S3 and Milvus are running on the same network.
  • Milvus 2.0 uses non-secure mode to access MinIO. Upcoming Milvus versions will support secure access to MinIO.
  • localhost
    minio.port
    Port of MinIO/S3
  • Environment variable: MINIO_ADDRESS
  • Access MinIO/S3 service with minio.address. minio.address and minio.port together generate the valid access to MinIO/S3.
  • MinIO preferentially acquires the valid port from the environment variable MINIO_ADDRESS when Milvus is booted up.
  • 9000
    minio.AccessKeyID
    MinIO/S3 key ID for authorized user access
  • Environment variable: MINIO_ACCESS_KEY
  • Access key ID that MinIO/S3 issues to authorized users. minio.accessKeyID and minio.secretAccessKey together are used for identity authentication to access the MinIO/S3 service.
  • This configuration must be set identical to the environment variable MINIO_ACCESS_KEY, which is necessary for booting up MinIO/S3. The default value applies to the MinIO/S3 service that boots up with the default docker-compose.yml provided by Milvus.
  • minioadmin
    minio.secretAccessKey
    MinIO/S3 encryption string
  • Environment variable: MINIO_SECRET_KEY
  • Secret key used to encrypt the signature string and verify the signature string on server. It must be kept strictly confidential and accessible only to the MinIO/S3 server and users.
  • This configuration must be set identical to the environment variable MINIO_SECRET_KEY, which is necessary for booting up MinIO/S3. The default value applies to the MinIO/S3 service that boots up with the default docker-compose.yml provided by Milvus.
  • minioadmin

    Server Address Configurations

    This session configures the IP address and port of the monitor request from Milvus. You can set these configurations in milvus.yaml.

    Configuration Description Default Value
    proxy.port TCP port for monitoring Milvus 19530

    System Behavior Configurations

    This session configures the system behaviors of Milvus. You can set these configurations in milvus.yaml, root_coord.yaml, data_coord.yaml, and data_node.yaml.

    Configuration Description Default Value
    queryNode.gracefulTime
    Minimum time before the newly inserted data can be searched
  • Unit: ms
  • Milvus executes this query command directly when the search message timestamp is earlier the query node system time.
  • When the search message timestamp is later than the query node system time, the search message waits for the query node system time to advance until the time difference between them is less than the value set in queryNode.gracefulTime, and then Milvus executes the query demand.
  • 1000
    rootcoord.minSegmentSizeToEnableIndex
    The minimum row count in a segment required for creating index
  • This parameter specifies the minimum row count in a log file required for creating segment index.
  • 1024
    datacoord.segment.maxSize
    Maximum size of a segment
  • Unit: MB
  • datacoord.segment.maxSize and datacoord.segment.sealProportion together determine if a segment can be sealed. Generally, the segment size ranges from 384 MB to 512 MB.
  • 512
    datacoord.segment.sealProportion
    Maximum proportion of a segment’s actual size comparing to datacoord.segment.maxSize
  • When actual proportion is greater than the set value, the corresponding segment can be sealed.
  • 0.75
    dataNode.flush.insertBufSize
    Maximum row count of a segment buffered in memory
  • Data node packs all buffered data into a binlog file and stores the file in MinIO/S3 when the row count of the data in memory exceeds this value.
  • Setting this parameter is associated with the data size. If it is set too small, the system stores data in small size too frequently. If it is set too large, the system's demand for memory will increase.
  • The default value applies to most scenarios. For a 128-dimensions floating-point vector, 32000 rows of data generate a binlog file of approximately 16 MB.
  • 32000
    Is this page helpful?
    Scored Successfully!