对 Milvus 进行向量搜索压测 —— 使用 VectorDBBench(最新版)

造相-Z-Image-Turbo 亚洲美女LoRA

基于 **Z-Image-Turbo** 的图片生成 Web 服务,新增对 LoRA laonansheng/Asian-beauty-Z-Image-Turbo-Tongyi-MAI-v1.0 的按需加载支持与严格的后端内容策略

目录

🧪 对 Milvus 进行向量搜索压测 —— 使用 VectorDBBench(最新版)

一、测试目标

二、步骤回顾

1. 环境准备

2. 数据集下载挑战

✔️ 关键命令:

三、配置批量测试 YAML

四、压测结果解读

五、踩过的坑及注意事项

六、可复用脚本推荐

七、总结

📌 推荐阅读


🧪 对 Milvus 进行向量搜索压测 —— 使用 VectorDBBench(最新版)

一、测试目标

利用 VectorDBBench(v1.0+ CLI)对在 Kubernetes 中部署的 Milvus 进行压力测试,涵盖数据下载、索引构建、并发搜索等流程,评估 QPS、延迟、召回等关键指标。


二、步骤回顾

1. 环境准备
  • 在 Conda 中创建 Python 3.11 环境,安装 vectordb‑bench

  • 确保 wgets3fs 等工具可用,用于下载数据。

2. 数据集下载挑战

测试默认使用 OpenAI-SMALL-50K 数据集,但首次运行时下载失败:

  • 原始 s3fs 代码硬编码为 region_name="us-west-2",导致和实际 eu-central-1 后端不匹配,出现 PermanentRedirect 错误。

  • 手动使用正确地址下载数据后,压测可正常进行。解决方法见下面。

✔️ 关键命令:
BASE=/tmp/vectordb_bench/dataset/openai/openai_small_50k
mkdir -p "$BASE" && cd "$BASE"
wget https://assets.zilliz.com/benchmark/openai_small_50k/train.parquet
wget https://assets.zilliz.com/benchmark/openai_small_50k/shuffle_train.parquet
wget https://assets.zilliz.com/benchmark/openai_small_50k/neighbors.parquet
wget https://assets.zilliz.com/benchmark/openai_small_50k/scalar_labels.parquet

这样就避开了 SDK 下载问题,让测试流程顺畅无阻。


三、配置批量测试 YAML

配置文件 config.yml 使用如下格式,确保符合 batchcli 要求:

milvushnsw:
  - db_label: milvus_k8s_test
    uri: http://10.233.48.134:19530
    m: 16
    ef_construction: 128
    ef_search: 128
    case_type: Performance1536D50K
    skip_search_serial: true
    drop_old: false
    load: false

运行批量测试命令:

vectordbbench batchcli --batch-config-file vectordb_bench/config-files/config.yml

确保数据已下载后,执行无报错。


四、压测结果解读

执行完成后,日志输出如下:

qps         5310.0365
latency(p99) 0.0
recall      0.0
  • QPS ≈ 5310:代表在 1536 维、50K 数据量下的 Milvus 并发吞吐能力;

  • p99 延迟为 0.0:意味着延迟极低,99% 操作几乎无延迟;

  • recall 为 0:可能是默认不计算召回或未加载性能数据。

最终结果保存为:

…/results/Milvus/result_20250723_*.json

五、踩过的坑及注意事项

问题解决方法
S3 重定向错误因桶位于 eu-central-1,需修改 region_name 或使用 HTTP 下载方式
s3fs 坏配置默认硬编码到 us-west-2,建议改源码或避免使用它进行下载
YAML 非 batch 列表格式batchcli 要求 key: - item,否则报 str has no items
召回值为 0可能因为 skip_serial 或 ground-truth 未加载,建议开启相关参数或进一步排查

六、可复用脚本推荐

执行脚本模板:

#!/bin/bash
# 1️⃣ 下载数据
BASE=/tmp/vectordb_bench/dataset/openai/openai_small_50k
...
# 2️⃣ 执行压测
export LOG_LEVEL=DEBUG
vectordbbench batchcli --batch-config-file vectordb_bench/config-files/config.yml

建议将其保存为 run_milvus_bench.sh 并赋予执行权限,一键测试。


七、总结

通过这次测试,你成功完成了:

  • 修正下载逻辑,绕开数据获取瓶颈;

  • 配置符合 CLI 批量格式要求的 YAML;

  • 成功跑通 Milvus 的高维向量压测,获取了稳定的 QPS 指标。

下一步建议

  • 测试不同 case_type(如 Performance768D1M)和 indexType(IVF、DiskANN 等);

  • 开启系列测试获取召回率与延迟变化曲线;

  • 比较 Milvus 与 Qdrant、Pinecone 之间差异,以及启用 streaming 功能的连贯性测试。


📌 推荐阅读


如你希望进一步构建对比测试、视觉化结果看板或自定义 Parquet 数据集测试模板,随时欢迎继续探讨!

您可能感兴趣的与本文相关的镜像

造相-Z-Image-Turbo 亚洲美女LoRA

造相-Z-Image-Turbo 亚洲美女LoRA

图片生成
Conda
Cuda

基于 **Z-Image-Turbo** 的图片生成 Web 服务,新增对 LoRA laonansheng/Asian-beauty-Z-Image-Turbo-Tongyi-MAI-v1.0 的按需加载支持与严格的后端内容策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值