向量计算性能测试方案

VectorDBBench 是为追求高性能数据存储和检索系统的用户设计的开源性能测试工具,它允许用户测试和比较不同向量数据库系统的性能,以确定最适合的数据库系统。本文为您介绍HologresVectorDBBench上进行性能对比测试的方法。

测试环境

测试环境如下:

  • Hologres实例规格:CPU:32 Core,内存:128 GB。

  • Hologres实例版本:V4.0.1版本。

  • ECS实例规格:建议ecs.c9i.16xlarge起。

说明
  • ECSHologres实例位于相同地域和可用区,并使用相同的VPC网络。

  • Hologres向量计算功能使用HGraph索引。

  • Hologres实例基于K8s容器化部署,由于向量检索的QPS极高,实际性能可能因网络和实际负载产生差异。

    如有问题,可在Hologres交流群反馈,加入Hologres交流群请参见如何获取更多的在线支持?

测试过程

  1. 环境准备。

    • 准备Hologres实例。

      1. 购买Hologres V4.0版本实例并创建数据库

      2. 创建用户。具体操作,请参见用户管理

    • 准备ECS实例。

      1. 购买ECS实例。具体操作,请参见控制台快速购买并使用ECS实例

      2. 安装依赖。

        1. (可选)安装Git,若已安装可跳过此步骤。

          apt-get update
          apt install git
        2. (可选)安装Python 3.11,若已安装可跳过此步骤。

          apt-get update
          apt install python3-full python3-venv
          
          cd /opt
          python3 -m venv venv
          source venv/bin/activate
  2. 安装VectorDBBench。

    # clone VectorDBBench
    git clone https://github.com/zilliztech/VectorDBBench.git
    cd VectorDBBench
    
    # install deps
    pip3 install -U pip -i https://mirrors.aliyun.com/pypi/simple
    pip3 install --no-cache-dir -r install/requirements_py3.11.txt  -i https://mirrors.aliyun.com/pypi/simple
    pip3 install -e . -i https://mirrors.aliyun.com/pypi/simple
    
  3. 启动性能测试。

    如果多次重复跑性能时,可以在上述命令后面加上 --skip-drop-old --skip-load,可以跳过导入数据的过程。

    NUM_PER_BATCH=100000 vectordbbench hologreshgraph --host <hologres_instance_vpc_endpoint> --port <port> --user '<username>' --password <password> --database <database_name> --m 64 --ef-construction 400 --case-type Performance768D10M --index-type HGraph --ef-search 400 --k 10 --num-concurrency 1,60,70,75,80,90,95,100,105,110,115,120 --db-label 32c128g-4.0-hybrid-index

    参数说明:

    参数

    说明

    hologres_instance_vpc_endpoint

    Hologres的网络信息和端口号。

    您可登录Hologres管理控制台,单击目标实例ID,在实例详情页的网络信息区域,获取对应的网络信息和端口号。

    port

    username&password

    Hologres实例的用户账号和密码。

    您可登录Hologres管理控制台,单击目标实例ID,在实例详情页单击用户管理,获取账号信息。

    database_name

    Hologres实例的数据库名称。

    您可登录Hologres管理控制台,单击目标实例ID,在实例详情页单击数据库管理,获取数据库信息。