diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f913fce70..2410465470 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Please mark all change in change log and use the issue from GitHub - \#738 - Use Openblas / lapack from apt install - \#758 - Enhance config description - \#791 - Remove Arrow +- \#848 - Add ready-to-use config files to the Milvus repo for enhanced user experince ## Task diff --git a/core/conf/demo/log_config.conf b/core/conf/demo/log_config.conf new file mode 100644 index 0000000000..ce3e7c8eda --- /dev/null +++ b/core/conf/demo/log_config.conf @@ -0,0 +1,27 @@ +* GLOBAL: + FORMAT = "%datetime | %level | %logger | %msg" + FILENAME = "/var/lib/milvus/logs/milvus-%datetime{%y-%M-%d-%H:%m}-global.log" + ENABLED = true + TO_FILE = true + TO_STANDARD_OUTPUT = false + SUBSECOND_PRECISION = 3 + PERFORMANCE_TRACKING = false + MAX_LOG_FILE_SIZE = 209715200 ## Throw log files away after 200MB +* DEBUG: + FILENAME = "/var/lib/milvus/logs/milvus-%datetime{%y-%M-%d-%H:%m}-debug.log" + ENABLED = true +* WARNING: + FILENAME = "/var/lib/milvus/logs/milvus-%datetime{%y-%M-%d-%H:%m}-warning.log" +* TRACE: + FILENAME = "/var/lib/milvus/logs/milvus-%datetime{%y-%M-%d-%H:%m}-trace.log" +* VERBOSE: + FORMAT = "%datetime{%d/%M/%y} | %level-%vlevel | %msg" + TO_FILE = false + TO_STANDARD_OUTPUT = false +## Error logs +* ERROR: + ENABLED = true + FILENAME = "/var/lib/milvus/logs/milvus-%datetime{%y-%M-%d-%H:%m}-error.log" +* FATAL: + ENABLED = true + FILENAME = "/var/lib/milvus/logs/milvus-%datetime{%y-%M-%d-%H:%m}-fatal.log" diff --git a/core/conf/demo/server_config.yaml b/core/conf/demo/server_config.yaml new file mode 100644 index 0000000000..11ce92c4be --- /dev/null +++ b/core/conf/demo/server_config.yaml @@ -0,0 +1,149 @@ +# Licensed to the Apache Software Foundation (ASF) 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 +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# 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. + +version: 0.1 + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# Server Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# address | IP address that Milvus server monitors. | String | 0.0.0.0 | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# port | Port that Milvus server monitors. Port range (1024, 65535) | Integer | 19530 | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# deploy_mode | Milvus deployment type: | DeployMode | single | +# | single, cluster_readonly, cluster_writable | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# time_zone | Use UTC-x or UTC+x to specify a time zone. | Timezone | UTC+8 | +#----------------------+------------------------------------------------------------+------------+-----------------+ +server_config: + address: 0.0.0.0 + port: 19530 + deploy_mode: single + time_zone: UTC+8 + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# DataBase Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# primary_path | Primary directory used to save meta data, vector data and | Path | /var/lib/milvus | +# | index data. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# secondary_path | A semicolon-separated list of secondary directories used | Path | | +# | to save vector data and index data. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# backend_url | URL for metadata storage, using SQLite (for single server | URL | sqlite://:@:/ | +# | Milvus) or MySQL (for distributed cluster Milvus). | | | +# | Format: dialect://username:password@host:port/database | | | +# | Keep 'dialect://:@:/', 'dialect' can be either 'sqlite' or | | | +# | 'mysql', replace other texts with real values. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# insert_buffer_size | Buffer size used for data insertion. | Integer | 1 (GB) | +# | The sum of 'insert_buffer_size' and 'cpu_cache_capacity' | | | +# | must be less than system memory size. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# preload_table | A comma-separated list of table names that need to be pre- | StringList | | +# | loaded when Milvus server starts up. | | | +# | '*' means preload all existing tables. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +db_config: + primary_path: /var/lib/milvus + secondary_path: + backend_url: sqlite://:@:/ + insert_buffer_size: 1 + preload_table: + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# Metric Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# enable_monitor | Enable monitoring function or not. | Boolean | false | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# collector | Connected monitoring system to collect metrics. | String | Prometheus | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# port | Port to visit Prometheus, port range (1024, 65535) | Integer | 8080 | +#----------------------+------------------------------------------------------------+------------+-----------------+ +metric_config: + enable_monitor: false + collector: prometheus + prometheus_config: + port: 8080 + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# Cache Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# cpu_cache_capacity | The size of CPU memory used for caching data for faster | Integet | 4 (GB) | +# | query. The sum of 'cpu_cache_capacity' and | | | +# | 'insert_buffer_size' must be less than system memory size. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# cache_insert_data | Whether to load inserted data into cache immediately for | Boolean | false | +# | hot query. If want to simultaneously insert and query | | | +# | vectors, it's recommended to enable this config. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +cache_config: + cpu_cache_capacity: 4 + cache_insert_data: false + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# Engine Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# use_blas_threshold | A Milvus performance tuning parameter. This value will be | Integer | 1100 | +# | compared with 'nq' to decide if OpenBLAS should be used. | | | +# | If nq >= use_blas_threshold, OpenBLAS will be used, search | | | +# | response times will be stable but the search speed will be | | | +# | slower; if nq < use_blas_threshold, SSE will be used, | | | +# | search speed will be faster but search response times will | | | +# | fluctuate. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# gpu_search_threshold | A Milvus performance tuning parameter. This value will be | Integer | 1000 | +# | compared with 'nq' to decide if the search computation will| | | +# | be executed on GPUs only. | | | +# | If nq >= gpu_search_threshold, the search computation will | | | +# | be executed on GPUs only; | | | +# | if nq < gpu_search_threshold, the search computation will | | | +# | be executed on both CPUs and GPUs. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +engine_config: + use_blas_threshold: 1100 + gpu_search_threshold: 1000 + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# GPU Resource Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# enable | Enable GPU resources or not. | Boolean | false | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# cache_capacity | The size of GPU memory per card used for cache. | Integer | 1 (GB) | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# search_resources | The list of GPU devices used for search computation. | DeviceList | gpu0 | +# | Must be in format gpux. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# build_index_resources| The list of GPU devices used for index building. | DeviceList | gpu0 | +# | Must be in format gpux. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +gpu_resource_config: + enable: false + cache_capacity: 1 + search_resources: + - gpu0 + build_index_resources: + - gpu0 + +#----------------------+------------------------------------------------------------+------------+-----------------+ +# Tracing Config | Description | Type | Default | +#----------------------+------------------------------------------------------------+------------+-----------------+ +# json_config_path | Absolute path for tracing config file. | Path | | +# | Leave it empty, a no-op tracer will be created. | | | +#----------------------+------------------------------------------------------------+------------+-----------------+ +tracing_config: + json_config_path: diff --git a/core/src/server/Config.h b/core/src/server/Config.h index 4ded3d85f9..e8a10b525f 100644 --- a/core/src/server/Config.h +++ b/core/src/server/Config.h @@ -81,7 +81,7 @@ static const char* CONFIG_METRIC_PROMETHEUS_PORT_DEFAULT = "8080"; /* engine config */ static const char* CONFIG_ENGINE = "engine_config"; static const char* CONFIG_ENGINE_USE_BLAS_THRESHOLD = "use_blas_threshold"; -static const char* CONFIG_ENGINE_USE_BLAS_THRESHOLD_DEFAULT = "20"; +static const char* CONFIG_ENGINE_USE_BLAS_THRESHOLD_DEFAULT = "1100"; static const char* CONFIG_ENGINE_OMP_THREAD_NUM = "omp_thread_num"; static const char* CONFIG_ENGINE_OMP_THREAD_NUM_DEFAULT = "0"; static const char* CONFIG_ENGINE_GPU_SEARCH_THRESHOLD = "gpu_search_threshold"; @@ -96,7 +96,7 @@ static const char* CONFIG_GPU_RESOURCE_ENABLE_DEFAULT = "true"; static const char* CONFIG_GPU_RESOURCE_ENABLE_DEFAULT = "false"; #endif static const char* CONFIG_GPU_RESOURCE_CACHE_CAPACITY = "cache_capacity"; -static const char* CONFIG_GPU_RESOURCE_CACHE_CAPACITY_DEFAULT = "4"; +static const char* CONFIG_GPU_RESOURCE_CACHE_CAPACITY_DEFAULT = "1"; static const char* CONFIG_GPU_RESOURCE_CACHE_THRESHOLD = "cache_threshold"; static const char* CONFIG_GPU_RESOURCE_CACHE_THRESHOLD_DEFAULT = "0.85"; static const char* CONFIG_GPU_RESOURCE_DELIMITER = ",";