向量数据库 测试环境

腾讯云向量数据库(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-benchmark 是一个用于评估近似最近邻(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-benchmark 数据集无需提前下载,测试工具运行时会自动检查 ./data( ann-benchmark 工具存放数据集的路径) 目录下是否存在数据集文件,如果不存在则会主动连接页面下载数据集。ann-benchmark 不具备768维度的数据集,腾讯云向量数据库团队基于中文文本制作了768维度,从100W 到1000W 级别的数据集供测试选用。具体数据集信息,如下表所示。

数据集名 数据集介绍 向量维度 向量数 索引方法 距离类型
sift-128-euclidean 数据集 128 1,000,000 HNSW L2
gist-960-euclidean 数据集 960 1,000,000 HNSW L2
chinese100w-768-angular 腾讯云向量数据库提供的数据集 768 1,000,000 HNSW IP
chinese500w-768-angular 腾讯云向量数据库提供的数据集 768 5,000,000 HNSW IP
chinese1000w-768-angular 腾讯云向量数据库提供的数据集 768 10,000,000 HNSW IP
赞 (0)
上一篇 4天前
下一篇 4天前