有奖捉虫:行业应用 & 管理与支持文档专题 HOT
腾讯云向量数据库(Tencent Cloud VectorDB)是一款基于向量相似度搜索的数据库产品,提供高效的向量索引和快速的相似度查询服务。为了让用户更好地了解 VectorDB 的性能表现,腾讯云发布性能白皮书,详细描述 VectorDB 的性能测试环境、测试方法和性能数据等。本章节说明测试性能所需准备的环境与数据集。

数据库规格

腾讯云向量数据库所属地域为广州,测试实例规格如下所示。
节点类型:计算型
节点规格:P.MEDIUM(4CPU、8GB内存)、P.LARGE(8CPU、16GB内存)
节点数量:3节点
该规格所支持的最大向量规模,请参见 产品规格。请按照如上规格购买并新建向量数据库,具体操作,请参见 新建数据库实例

客户端测试环境

与腾讯云向量数据库实例为同一地域同一 VPC 内的 Linux 云服务器 CVM ,其环境要求如下:
操作系统:TencentOS Server 3.1 (TK4)
规格:SA3.16XLARGE256。
已安装 Python 3.6.8 及以上版本。
说明:
使用腾讯云 CVM 连接腾讯云向量数据库(Tencent Cloud VectorDB),在腾讯云 CVM 安全组中需配置出站规则,把腾讯云向量数据库的 IP 及端口添加到出站规则中。在腾讯云向量数据库安全组中配置入站规则,把 CVM 的 IP 地址及向量数据库的端口添加到入站规则中,才能连接成功。具体操作,请参见 安全组

测试工具

开源工具 ann-benchamrk 是一个用于评估近似最近邻(ANN)搜索库的性能测试工具。它提供了一套标准的测试数据集和评估指标,可以用于比较不同量级数据库的性能表现。腾讯云向量数据库基于 ann-benchmark 进行数据库性能评测,与竟品公平的进行性能差异对比。如下基于运行工具的命令,介绍其关键参数。
python3 run.py --dataset sift-128-euclidean --local --force --algorithm vector_db --definitions=configs/8c64g/100w-1shard.yml --batch --only_query --runs 1 -k 10
参数
参数含义
--dataset
指定数据集的名字,数据集放在 ./data 目录下。
--local
指定是否在本地运行。
--force
运行查询测试时,如果历史已经测试过(存在本地测试结果 ),是否继续执行并覆盖。
--algorithm
ann-benchmark 默认支持多种数据库的测试,这里强制指定测试数据库为 vector_db
--definitions
指定测试运行时的配置文件。
--batch
添加该参数后,测试工具会使用 CPU 多核模式压测数据查询,使用的 CPU 核数可以通过配置文件中的 Threads 参数控制。
--runs
指定查询运行的次数。当运行性能测试时,期望工具能长时间运行时,可将该参数设置为较大值,如999999。
--only_query
指定是否只运行查询。 因 ann-benchmark 默认的工作方式是先插入数据,再运行查询测试。 但在实际使用中,我们可能存在插入一次数据后,多次进行查询测试的场景。增加该参数后,可以跳过 ann-benchmark 的数据插入阶段。
-k
希望查询返回的数据条数。

数据集

ann-benchamrk 官方数据集无需提前下载,测试工具运行时会自动检查?./data( ann-benchamrk 工具存放数据集的路径)?目录下是否存在数据集文件,如果不存在则会主动连接官网下载官方数据集。ann-benchamrk 官方不具备768维度的数据集,腾讯云向量数据库团队基于中文文本制作了768维度,从100W 到1000W 级别的数据集供测试选用。具体数据集信息,如下表所示。
数据集名
数据集介绍
向量维度
向量数
索引方法
距离类型
官方数据集
128
1,000,000
HNSW
L2
官方数据集
960
1,000,000
HNSW
L2
腾讯云向量数据库提供的数据集
768
1,000,000
HNSW
IP
腾讯云向量数据库提供的数据集
768
5,000,000
HNSW
IP
腾讯云向量数据库提供的数据集
768
10,000,000
HNSW
IP
?


http://www.vxiaotou.com