性能评估
- 1百万条512维向量(总大小:GB)
- 1亿条512维向量(总大小:GB)
相关数据集
创建名为 milvlus_sift1m
的文件夹,然后下载以下数据集和测试脚本到该文件夹。
Milvus 参数配置
配置文件:/home/$USER/milvus/conf/server_config.yaml
配置文件参数编辑完毕后,重启 Milvus Docker 使配置生效。
第1步:启动 Milvus 服务
# start Milvus
$ nvidia-docker run -td --runtime=nvidia -p 19530:19530 -p 8080:8080 -v /home/$USER/milvus/db:/opt/milvus/db -v /home/$USER/milvus/conf:/opt/conf -v /home/$USER/milvus/logs:/opt/milvus/logs milvusdb/milvus:0.3.1
导入数据之前,首先确保 bvecs_data
文件夹与测试脚本 milvus_bootcamp.py
都放在 milvus_sift1m
目录下
进入 milvus_sift1m
目录,运行如下脚本:
脚本会创建一张名为 ann_1m_sq8
的表,它采用的索引类型为 ivfsq8
,数据将导入该表:
第3步:性能测试
$ python3 milvus_bootcamp.py --table=ann_1m_sq8 -s
第4步:分析结果
运行结束后,将会生成一个名为 performance_results
的文件夹,在该文件夹下会有一个名为 xxx_results.csv
的文件,xxx
代表执行命令的时间。文件内容如下图所示(未完全展示):
nq
- 要查询的向量条数total_time
- 查询 nq 个向量的前 k 个相似向量一共花费的时间,单位:秒avg_time
- 查询一个向量的 topk 个相似向量的平均时间,单位:秒
硬件要求
创建名为 milvlus_sift100m
的文件夹,然后下载以下数据集和测试脚本到该文件夹。
-
将数据文件都解压到
milvus_sift100M/bvecs_data/
文件夹下。解压完成后milvus_sift100M/bvecs_data/
文件夹里将会有 1,000 个 npy 文件,每个 npy 文件中存放 10 万条向量数据,共 1 亿条。
Milvus 参数配置
配置文件:/home/$USER/milvus/conf/server_config.yaml
配置文件参数编辑完毕后,重启 Milvus Docker 使配置生效。
第1步:启动 Milvus 服务
# start Milvus
$ nvidia-docker run -td --runtime=nvidia -p 19530:19530 -p 8080:8080 -v /home/$USER/milvus/db:/opt/milvus/db -v /home/$USER/milvus/conf:/opt/conf -v /home/$USER/milvus/logs:/opt/milvus/logs milvusdb/milvus:0.3.1
第2步:导入测试数据
导入数据之前,首先确保 bvecs_data
文件夹与测试脚本 milvus_bootcamp.py
都放在 milvus_sift100m
目录下。
进入 milvus_sift100m
目录,运行如下脚本:
脚本会创建一张名为 ann_1m00_sq8
的表,它采用的索引类型为 ivfsq8
,数据将导入该表:
为评估 Milvus 的查询性能,进入 milvus_sift100m
目录,运行如下脚本:
$ python3 milvus_bootcamp.py --table=ann_100m_sq8 -s
第4步:分析结果
nq
- 要查询的向量条数topk
- 查询某个向量的前 k 个相似的向量- - 查询 nq 个向量的前 k 个相似向量一共花费的时间,单位:秒
avg_time
- 查询一个向量的 topk 个相似向量的平均时间,单位:秒