更新时间:2025-07-29 GMT+08:00

优化向量集群性能

从写入和查询两个维度介绍CSS向量数据库的性能优化方案。

写入性能优化

向量数据写入时涉及副本同步、索引刷新(refresh)和段合并(merge)三大开销。索引实时写入时,频繁的索引刷新会生成大量小segment,触发额外的向量索引构建和合并操作,消耗大量CPU/IO资源。因此,写入性能优化,主要从这几方面入手。

查询性能优化

查询性能受segment数量、内存熔断机制及字段召回方式影响。大量segment会降低搜索效率;堆外内存不足时向量索引频繁换入换出;召回全字段会加重fetch阶段负载。因此,查询性能优化,主要从这几方面入手。

缓存超时清理

当集群内存资源紧张、数据更新频繁或对数据新鲜度要求较高时,可以启用缓存超时自动清除功能,该功能可以优化系统性能、保障数据一致性和提升稳定性,适用于数据动态变化或内存资源敏感的场景。

执行如下命令设置缓存超时清理:

PUT _cluster/settings
{
  "persistent": {
    "native.cache.expiry.enabled": "true"
    "native.cache.expiry.time": "30m"
  }
}
表1 参数说明

参数名称

参数类型

描述

native.cache.expiry.enabled

Boolean

控制是否启用缓存超时自动清除功能。

取值范围:
  • true:开启超时清除,当缓存项长时间没有被访问过将会被清除。
  • false(默认值):关闭超时清除。

native.cache.expiry.time

String

指定缓存项超时的时间长度。

“native.cache.expiry.enabled=true”时才生效。

取值范围:时间字符串,例如“24h”(24小时)、“30m”(30分钟)。

默认值:24h