云搜索服务 CSS-Elasticsearch向量检索的性能测试和比较:性能测试的操作步骤

时间:2025-02-18 16:36:44

性能测试的操作步骤

  1. 创建一个弹性 云服务器ECS ,用于安装压测工具和执行测试脚本。操作指导请参见快速购买和使用Linux E CS
    • ECS必须和Elasticsearch集群在同一个虚拟私有云和安全组中。
    • 也可以使用其他客户端服务器,但是必须保证服务器和Elasticsearch集群在同一VPC。
  2. 将测试数据集上传到ECS上。
  3. 将数据写入和召回率测试脚本上传到ECS上,并执行如下命令。
    pip install h5py
    pip install elasticsearch==7.10
    
    python3 base_test_example.py

    执行完成后,会创建测试的向量索引,写入测试数据,并返回平均查询召回率Recall。

  4. 在ECS上安装开源压测工具Wrk。
  5. 在ECS上准备压测的查询请求文件,用于模拟真实业务场景。参考脚本prepare_query.py
    pip install h5py
    
    python3 prepare_query.py
  6. 在ECS上准备Wrk的压测配置脚本。参考脚本perf.lua,脚本中的查询请求文件名称、集群访问地址和索引名称需要根据实际环境修改。
  7. 在ECS执行如下命令进行向量检索的性能压测。
    wrk -c60 -t60 -d10m -s perf.lua http://x.x.x.x:9200 
    • “t”表示压测线程数。
    • “c”表示与服务端的连接数。
    • “d”表示压测时间,“10m”表示10分钟 。
    • “s”表示Wrk的压测配置脚本。
    • “x.x.x.x”表示Elasticsearch集群的访问地址。

    在回显中获得测试数据,其中“Requests/sec”即查询吞吐量QPS。

    图2 测试结果示例
support.huaweicloud.com/bestpractice-css/css_07_0050.html