云数据库 PostgreSQL 腾讯云 PostgreSQL pgvector HNSW 性能测试报告

git clone https://github.com/erikbern/ann-benchmarks.gitcd ann-benchmarkspip install -r requirements.txt。

相关产品
云数据库 PostgreSQL 产品页,含版本规格、价格与购买入口。

一、测试环境

配置项 说明
数据库 RDS PostgreSQL 17
pgvector 0.8.0
实例规格 16 vCPU / 64 GB
客户端 4 vCPU / 8 GB(同 VPC)
测试工具 ann-benchmarks
压测模式 单线程
召回口径 Recall@100

二、测试数据集

数据集 维度 向量数 距离类型 典型场景
dbpedia-openai-1M 1536 1,000,000 Cosine OpenAI /大模型 Embedding
NYTimes-256 256 290,000 Cosine 文本相似度检索

三、环境准备

1. 安装 ann-benchmarks

2. 配置数据库连接

编辑 ann_benchmarks/algorithms/pgvector/module.py,添加连接信息:

import osos.environ['ANN_BENCHMARKS_PG_USER'] = '<用户名>'os.environ['ANN_BENCHMARKS_PG_PASSWORD'] = '<密码>'os.environ['ANN_BENCHMARKS_PG_DBNAME'] = '<数据库名>'os.environ['ANN_BENCHMARKS_PG_HOST'] = '<实例内网地址>'os.environ['ANN_BENCHMARKS_PG_PORT'] = '5432'os.environ['ANN_BENCHMARKS_PG_START_SERVICE'] = 'false'

3. 配置测试参数

编辑 ann_benchmarks/algorithms/pgvector/config.yml:

float: any: – base_args: ['@metric'] constructor: PGVector disabled: false docker_tag: ann-benchmarks-pgvector module: ann_benchmarks.algorithms.pgvector name: pgvector run_groups: M-16(200): arg_groups: [{M: 16, efConstruction: 200}] args: {} query_args: [[10, 20, 40, 80, 120, 200, 400, 800]] M-24(200): arg_groups: [{M: 24, efConstruction: 200}] args: {} query_args: [[10, 20, 40, 80, 120, 200, 400, 800]] M-48(256): arg_groups: [{M: 48, efConstruction: 256}] args: {} query_args: [[10, 20, 40, 80, 120, 200, 400, 800]]

4. 构建测试 Docker 镜像

python install.py –algorithm pgvector

四、执行测试

# dbpedia-openai-1M数据集测试python run.py –dataset dbpedia-openai-1000k-angular -k 100 –algorithm pgvector –runs 1# NYTimes-256 数据集测试python run.py –dataset nytimes-256-angular -k 100 –algorithm pgvector –runs 1

五、获取结果

# 生成可视化图表python plot.py –dataset dbpedia-openai-1000k-angular –recompute# 导出详细 CSV数据python data_export.py –out results.csv

六、dbpedia-openai-1M(1536维 / 100万向量)

场景 索引配置 ef_search Recall@100 QPS P99(ms)
高召回 m=24, ef_construction=200 120 99.2% 225 7.2
超高召回 m=48, ef_construction=256 120 99.8% 146 12.3

七、NYTimes-256(256维 / 29万向量)

场景 索引配置 ef_search Recall@100 QPS P99(ms)
高召回 m=24, ef_construction=200 400 89.0% 101 12.7
超高召回 m=24, ef_construction=200 800 93.9% 52 23.6
赞 (0)
上一篇 4天前
下一篇 4天前