Milvus 配置

    成功启动 Milvus 服务后,你可以在 home/$USER/milvus 的路径下看到 Milvus 的文件夹。其中包含以下文件:

    • milvus/db(数据库存储)
    • milvus/logs(日志存储)
    • milvus/conf(设置文件)
      • server_config.yaml(服务设置)

    配置

    server_config 区域

    参数 说明 类型 默认值
    primary_path 导入 Milvus 的数据文件和元数据存储的首选路径。 Path /opt/data
    secondary_path 导入 Milvus 的数据文件存储的二级路径,可以填多个,两个路径中间以分号隔开。当数据量很大,primary_path 指定的磁盘空间不够用时,可以设置此参数。
    secondary_path 平均分配导入的数据。每个路径下的数据大小 = 数据总大小 / 路径数量。请确保这些路径下文件可用的存量差不多且够用。
    Path
    backend_url 元数据存储的 URL 。使用 SQLite(单机部署) 或 MySQL(分布式集群部署)来存储元数据。
    db_backend_url 的格式为:dialect://username:password@host:port/database。( dialect 可以是 mysqlsqlite,取决于你是用了MySQL 还是SQLite数据库。)
    Path sqlite://:@:/
    insert_buffer_size 用于buffer的最大内存量。insert_buffer_sizecpu_cache_capacitycache_config 区域)之和不能超过内存总量。 Integer 4 (GB)
    preload_table 定义在 Milvus 服务再次启动后,是否将之前已经导入并保存在磁盘的表预加载到内存。支持全部表格或者部分表格的预加载。
    若要加载所有表格,使用 * ;若要加载部分表格,列出所有需要加载的表名,以逗号隔开。如果无需加载表格,请将该值留空 ( )。
    PreloadType

    metric_config 区域

    参数 说明 类型 默认值
    cpu_cache_capacity 用于缓存的内存量,最大值不能超过内存总量。 Integer 16 (GB)
    cpu_cache_threshold 当 CPU 缓存已满,会自动清除过往数据。通过这条参数您可以设置剩余在 CPU 缓存中的数据量。
    比如,该参数的默认值(0.85)表示 CPU 缓存中85%的数据不用被清除。取值范围为0 -1。
    Float 0.85
    用于缓存的显存量,最大值不能超过内存总量。 Integer 4 (GB)
    gpu_cache_threshold 当 GPU 缓存已满,会自动清除过往数据。通过这条参数您可以设置剩余在 GPU 缓存中的数据量。
    比如,该参数的默认值(0.85)表示 GPU 缓存中85%的数据不用被清除。取值范围为0 -1。
    Float 0.85
    cache_insert_data 设置为 true ,则新插入的数据会自动加载到缓存以备搜索。
    如果想要实现数据即插即搜索,建议启用该功能。
    Boolean false

    engine_config 区域

    在 Milvus 里,由于创建索引搜索是两个独立分开的过程,resource 的利用遵循以下基本原则:

    • 创建索引过程只能在 gpu 里进行。请使用区域 db_config 里的 build_index_gpu 参数来指定用于该过程的 gpu
    • 搜索计算过程可以同时在cpugpu 里进行。如果搜索 resource 包含 gpu,您可以指定多张 GPU 来进行该过程。
    • 用于创建索引的 gpu 同时也能指定用于搜索过程。
    参数 说明 类型 默认值
    search_resources 定义 Milvus 里用于搜索的 resource 类型。如:cpu, gpu0 ResourceType gpu0
    index_build_device 定义 Milvus 里用户创建索引的 resource 类型。目前仅支持 gpu 类型。 ResourceType gpu0
    1. - gpu0
    2. - gpu2