向量搜索
向量搜索工作负载对 OpenSearch 的向量引擎在索引和搜索操作方面的能力进行基准测试。它测试各种向量搜索算法、量化方法和索引配置,以测量吞吐量、延迟和召回精度等性能指标。该工作负载支持不同的数据集,并且可以评估经过训练和未经训练的向量搜索方法。
此工作负载目前支持 `HDF5` 或 `BIG-ANN` 格式的数据集。要下载数据集,请使用此链接。
支持的工作负载参数
向量搜索工作负载支持以下工作负载参数。
名称 | 描述 |
---|---|
target_index_name | 要添加向量的索引名称。 |
target_field_name | 要添加向量的字段名称。使用“.”表示嵌套字段。 |
target_index_body | 目标索引定义的路径。 |
target_index_primary_shards | 目标索引的主分片。 |
target_index_replica_shards | 目标索引的副本分片。 |
target_index_dimension | 目标索引的维度。 |
target_index_space_type | 目标索引空间类型。 |
target_index_bulk_size | 目标索引批量大小。 |
target_index_bulk_index_data_set_format | 向量数据集的格式。 |
target_index_bulk_index_data_set_path | 索引中向量数据集的路径。 |
target_index_bulk_index_data_set_corpus | 向量数据集的语料库名称。 |
target_index_bulk_index_clients | 用于批量摄取的客户端。必须是数据集大小的除数。 |
target_index_max_num_segments | 在开始搜索之前要合并到目标索引中的段数。 |
target_index_force_merge_timeout | 在强制合并请求之前等待的时间量(秒)。 |
hnsw_ef_search | `HNSW ef` 搜索参数。 |
hnsw_ef_construction | `HNSW ef` 构建参数。 |
id_field_name | 用于标识索引中文档的字段名称。 |
hnsw_m | `HNSW m` 参数。 |
query_k | 搜索要返回的邻居数量。只能提供 `query_k`、`query_max_distance` 或 `query_min_score` 中的一个。 |
query_max_distance | 向量搜索要返回的最大距离。只能提供 `query_k`、`query_max_distance` 或 `query_min_score` 中的一个。 |
query_min_score | 向量搜索要返回的最小分数。只能提供 `query_k`、`query_max_distance` 或 `query_min_score` 中的一个。 |
query_data_set_format | 用于查询的向量数据集格式。只能提供 `query_k`、`query_max_distance` 或 `query_min_score` 中的一个。 |
query_data_set_path | 用于查询的向量数据集路径。 |
query_count | 用于搜索操作的查询数量。 |
query_body | 将与搜索正文合并的 JSON 属性。 |
search_clients | 用于运行查询的客户端数量。 |
repetitions | 在数据集耗尽之前完成的重复次数。默认值为 `1`。 |
target_throughput | 每个查询操作的目标吞吐量,单位是每秒请求数。默认值为 `10`。 |
time_period | 专门用于运行基准测试的时间段,单位是秒。默认值为 `900`。 |
测试过程
向量搜索工作负载支持以下测试过程。
无训练测试过程
无训练测试过程测试不需要训练的向量搜索索引。您可以将向量搜索算法的底层配置(例如指定特定引擎或空间类型)定义为方法定义。
无训练测试(仅索引)过程
无训练测试(仅索引)过程用于索引不需要训练的向量搜索索引。当您只想对索引操作进行基准测试时,这会特别有用。
无训练测试 (Amazon OpenSearch Serverless)
Amazon OpenSearch Serverless 的无训练测试过程专门用于 OpenSearch Serverless 向量搜索集合。此过程不包括“刷新”和“预热”等操作,因为向量搜索集合不支持它们。
强制合并索引过程
强制合并索引过程通过执行强制合并操作(最多达到给定最大段数)来优化向量搜索索引。对于大型数据集,强制合并是一项代价高昂的操作。因此,我们建议使用单独的过程根据用户要求偶尔触发强制合并操作。
训练测试过程
训练测试过程对需要训练步骤的近似 k-NN 搜索算法进行基准测试。例如,Faiss 倒排文件索引 (IVF) 技术需要训练步骤才能检索聚类向量。执行该步骤后,基准测试可以搜索较少数量的聚类质心,而不是整个数据集。
搜索过程
搜索过程对以前索引的向量搜索索引进行基准测试。当您想要对大型向量搜索索引进行基准测试而无需每次重新索引时,这会很有用,因为对于大型数据集而言,加载时间可能很长。此过程包括预热操作,旨在避免向量搜索期间的冷启动问题。
自定义运行器
向量搜索工作负载仅支持一个自定义运行器:`warmup-knn-indices`。此运行器将预热 k-NN 索引并重试预热,直到成功。
运行工作负载
要运行向量搜索工作负载,请使用以下命令
export ENDPOINT=<cluster-endpoint>
export PARAMS_FILE=<params-file-path>
opensearch-benchmark execute-test \
--target-hosts $ENDPOINT \
--workload vectorsearch \
--workload-params ${PARAMS_FILE} \
--pipeline benchmark-only \
--kill-running-processes
示例结果
使用向量搜索工作负载时,您可以预期获得类似以下的结果。
训练测试过程
以下示例提供了训练测试过程的结果
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 0.00946667 | min |
| Min cumulative indexing time across primary shards | | 0 | min |
| Median cumulative indexing time across primary shards | | 0.00298333 | min |
| Max cumulative indexing time across primary shards | | 0.00336667 | min |
| Cumulative indexing throttle time of primary shards | | 0 | min |
| Min cumulative indexing throttle time across primary shards | | 0 | min |
| Median cumulative indexing throttle time across primary shards | | 0 | min |
| Max cumulative indexing throttle time across primary shards | | 0 | min |
| Cumulative merge time of primary shards | | 0 | min |
| Cumulative merge count of primary shards | | 0 | |
| Min cumulative merge time across primary shards | | 0 | min |
| Median cumulative merge time across primary shards | | 0 | min |
| Max cumulative merge time across primary shards | | 0 | min |
| Cumulative merge throttle time of primary shards | | 0 | min |
| Min cumulative merge throttle time across primary shards | | 0 | min |
| Median cumulative merge throttle time across primary shards | | 0 | min |
| Max cumulative merge throttle time across primary shards | | 0 | min |
| Cumulative refresh time of primary shards | | 0.00861667 | min |
| Cumulative refresh count of primary shards | | 33 | |
| Min cumulative refresh time across primary shards | | 0 | min |
| Median cumulative refresh time across primary shards | | 0.00268333 | min |
| Max cumulative refresh time across primary shards | | 0.00291667 | min |
| Cumulative flush time of primary shards | | 0.000183333 | min |
| Cumulative flush count of primary shards | | 2 | |
| Min cumulative flush time across primary shards | | 0 | min |
| Median cumulative flush time across primary shards | | 0 | min |
| Max cumulative flush time across primary shards | | 0.000183333 | min |
| Total Young Gen GC time | | 0.075 | s |
| Total Young Gen GC count | | 17 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 0.00869293 | GB |
| Translog size | | 2.56114e-07 | GB |
| Heap used for segments | | 0 | MB |
| Heap used for doc values | | 0 | MB |
| Heap used for terms | | 0 | MB |
| Heap used for norms | | 0 | MB |
| Heap used for points | | 0 | MB |
| Heap used for stored fields | | 0 | MB |
| Segment count | | 9 | |
| Min Throughput | custom-vector-bulk | 25527 | docs/s |
| Mean Throughput | custom-vector-bulk | 25527 | docs/s |
| Median Throughput | custom-vector-bulk | 25527 | docs/s |
| Max Throughput | custom-vector-bulk | 25527 | docs/s |
| 50th percentile latency | custom-vector-bulk | 36.3095 | ms |
| 90th percentile latency | custom-vector-bulk | 52.2662 | ms |
| 100th percentile latency | custom-vector-bulk | 68.6513 | ms |
| 50th percentile service time | custom-vector-bulk | 36.3095 | ms |
| 90th percentile service time | custom-vector-bulk | 52.2662 | ms |
| 100th percentile service time | custom-vector-bulk | 68.6513 | ms |
| error rate | custom-vector-bulk | 0 | % |
| Min Throughput | prod-queries | 211.26 | ops/s |
| Mean Throughput | prod-queries | 213.85 | ops/s |
| Median Throughput | prod-queries | 213.48 | ops/s |
| Max Throughput | prod-queries | 216.49 | ops/s |
| 50th percentile latency | prod-queries | 3.43393 | ms |
| 90th percentile latency | prod-queries | 4.01881 | ms |
| 99th percentile latency | prod-queries | 5.56238 | ms |
| 99.9th percentile latency | prod-queries | 9.95666 | ms |
| 99.99th percentile latency | prod-queries | 39.7922 | ms |
| 100th percentile latency | prod-queries | 62.415 | ms |
| 50th percentile service time | prod-queries | 3.43405 | ms |
| 90th percentile service time | prod-queries | 4.0191 | ms |
| 99th percentile service time | prod-queries | 5.56316 | ms |
| 99.9th percentile service time | prod-queries | 9.95666 | ms |
| 99.99th percentile service time | prod-queries | 39.7922 | ms |
| 100th percentile service time | prod-queries | 62.415 | ms |
| error rate | prod-queries | 0 | % |
---------------------------------
[INFO] SUCCESS (took 119 seconds)
---------------------------------
Faiss 结果
以下示例输出是使用 Faiss IVF 基准测试过程生成的。为简洁起见,测试使用了 100 个搜索查询,而不是参数文件中指定的 10,000 个。所有其他参数与 `params/train` 文件夹中的参数保持一致。第一次运行演示了无量化的结果,第二次运行演示了标量量化,第三次运行演示了乘积量化。请注意,量化可能会导致搜索召回率下降。
Faiss IVF 无量化/平面编码
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 11.7662 | min |
| Min cumulative indexing time across primary shards | | 0.000266667 | min |
| Median cumulative indexing time across primary shards | | 0.1423 | min |
| Max cumulative indexing time across primary shards | | 11.6236 | min |
| Cumulative indexing throttle time of primary shards | | 0 | min |
| Min cumulative indexing throttle time across primary shards | | 0 | min |
| Median cumulative indexing throttle time across primary shards | | 0 | min |
| Max cumulative indexing throttle time across primary shards | | 0 | min |
| Cumulative merge time of primary shards | | 1.09872 | min |
| Cumulative merge count of primary shards | | 21 | |
| Min cumulative merge time across primary shards | | 0 | min |
| Median cumulative merge time across primary shards | | 0.00045 | min |
| Max cumulative merge time across primary shards | | 1.09827 | min |
| Cumulative merge throttle time of primary shards | | 0.872417 | min |
| Min cumulative merge throttle time across primary shards | | 0 | min |
| Median cumulative merge throttle time across primary shards | | 0 | min |
| Max cumulative merge throttle time across primary shards | | 0.872417 | min |
| Cumulative refresh time of primary shards | | 0.113733 | min |
| Cumulative refresh count of primary shards | | 59 | |
| Min cumulative refresh time across primary shards | | 0.00235 | min |
| Median cumulative refresh time across primary shards | | 0.00516667 | min |
| Max cumulative refresh time across primary shards | | 0.106217 | min |
| Cumulative flush time of primary shards | | 0.01685 | min |
| Cumulative flush count of primary shards | | 8 | |
| Min cumulative flush time across primary shards | | 0 | min |
| Median cumulative flush time across primary shards | | 0.00791667 | min |
| Max cumulative flush time across primary shards | | 0.00893333 | min |
| Total Young Gen GC time | | 5.442 | s |
| Total Young Gen GC count | | 3739 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 1.3545 | GB |
| Translog size | | 0.0304573 | GB |
| Heap used for segments | | 0 | MB |
| Heap used for doc values | | 0 | MB |
| Heap used for terms | | 0 | MB |
| Heap used for norms | | 0 | MB |
| Heap used for points | | 0 | MB |
| Heap used for stored fields | | 0 | MB |
| Segment count | | 14 | |
| Min Throughput | custom-vector-bulk-train | 32222.6 | docs/s |
| Mean Throughput | custom-vector-bulk-train | 32222.6 | docs/s |
| Median Throughput | custom-vector-bulk-train | 32222.6 | docs/s |
| Max Throughput | custom-vector-bulk-train | 32222.6 | docs/s |
| 50th percentile latency | custom-vector-bulk-train | 26.5199 | ms |
| 90th percentile latency | custom-vector-bulk-train | 34.9823 | ms |
| 99th percentile latency | custom-vector-bulk-train | 196.712 | ms |
| 100th percentile latency | custom-vector-bulk-train | 230.342 | ms |
| 50th percentile service time | custom-vector-bulk-train | 26.5158 | ms |
| 90th percentile service time | custom-vector-bulk-train | 34.9823 | ms |
| 99th percentile service time | custom-vector-bulk-train | 196.712 | ms |
| 100th percentile service time | custom-vector-bulk-train | 230.342 | ms |
| error rate | custom-vector-bulk-train | 0 | % |
| Min Throughput | delete-model | 10.58 | ops/s |
| Mean Throughput | delete-model | 10.58 | ops/s |
| Median Throughput | delete-model | 10.58 | ops/s |
| Max Throughput | delete-model | 10.58 | ops/s |
| 100th percentile latency | delete-model | 93.6958 | ms |
| 100th percentile service time | delete-model | 93.6958 | ms |
| error rate | delete-model | 0 | % |
| Min Throughput | train-knn-model | 0.63 | ops/s |
| Mean Throughput | train-knn-model | 0.63 | ops/s |
| Median Throughput | train-knn-model | 0.63 | ops/s |
| Max Throughput | train-knn-model | 0.63 | ops/s |
| 100th percentile latency | train-knn-model | 1577.49 | ms |
| 100th percentile service time | train-knn-model | 1577.49 | ms |
| error rate | train-knn-model | 0 | % |
| Min Throughput | custom-vector-bulk | 11055 | docs/s |
| Mean Throughput | custom-vector-bulk | 14163.8 | docs/s |
| Median Throughput | custom-vector-bulk | 12878.9 | docs/s |
| Max Throughput | custom-vector-bulk | 33841.3 | docs/s |
| 50th percentile latency | custom-vector-bulk | 81.6677 | ms |
| 90th percentile latency | custom-vector-bulk | 117.848 | ms |
| 99th percentile latency | custom-vector-bulk | 202.484 | ms |
| 99.9th percentile latency | custom-vector-bulk | 406.209 | ms |
| 99.99th percentile latency | custom-vector-bulk | 458.823 | ms |
| 100th percentile latency | custom-vector-bulk | 459.417 | ms |
| 50th percentile service time | custom-vector-bulk | 81.6621 | ms |
| 90th percentile service time | custom-vector-bulk | 117.843 | ms |
| 99th percentile service time | custom-vector-bulk | 202.294 | ms |
| 99.9th percentile service time | custom-vector-bulk | 406.209 | ms |
| 99.99th percentile service time | custom-vector-bulk | 458.823 | ms |
| 100th percentile service time | custom-vector-bulk | 459.417 | ms |
| error rate | custom-vector-bulk | 0 | % |
| Min Throughput | force-merge-segments | 0.1 | ops/s |
| Mean Throughput | force-merge-segments | 0.1 | ops/s |
| Median Throughput | force-merge-segments | 0.1 | ops/s |
| Max Throughput | force-merge-segments | 0.1 | ops/s |
| 100th percentile latency | force-merge-segments | 10017.4 | ms |
| 100th percentile service time | force-merge-segments | 10017.4 | ms |
| error rate | force-merge-segments | 0 | % |
| Min Throughput | warmup-indices | 9.63 | ops/s |
| Mean Throughput | warmup-indices | 9.63 | ops/s |
| Median Throughput | warmup-indices | 9.63 | ops/s |
| Max Throughput | warmup-indices | 9.63 | ops/s |
| 100th percentile latency | warmup-indices | 103.228 | ms |
| 100th percentile service time | warmup-indices | 103.228 | ms |
| error rate | warmup-indices | 0 | % |
| Min Throughput | prod-queries | 120.06 | ops/s |
| Mean Throughput | prod-queries | 120.06 | ops/s |
| Median Throughput | prod-queries | 120.06 | ops/s |
| Max Throughput | prod-queries | 120.06 | ops/s |
| 50th percentile latency | prod-queries | 1.75219 | ms |
| 90th percentile latency | prod-queries | 2.29527 | ms |
| 99th percentile latency | prod-queries | 50.4419 | ms |
| 100th percentile latency | prod-queries | 97.9905 | ms |
| 50th percentile service time | prod-queries | 1.75219 | ms |
| 90th percentile service time | prod-queries | 2.29527 | ms |
| 99th percentile service time | prod-queries | 50.4419 | ms |
| 100th percentile service time | prod-queries | 97.9905 | ms |
| error rate | prod-queries | 0 | % |
| Mean recall@k | prod-queries | 0.96 | |
| Mean recall@1 | prod-queries | 0.99 | |
---------------------------------
[INFO] SUCCESS (took 218 seconds)
---------------------------------
Faiss IVF 带标量量化(100 个搜索查询)
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 11.5 | min |
| Min cumulative indexing time across primary shards | | 0.000283333 | min |
| Median cumulative indexing time across primary shards | | 0.10915 | min |
| Max cumulative indexing time across primary shards | | 11.3905 | min |
| Cumulative indexing throttle time of primary shards | | 0 | min |
| Min cumulative indexing throttle time across primary shards | | 0 | min |
| Median cumulative indexing throttle time across primary shards | | 0 | min |
| Max cumulative indexing throttle time across primary shards | | 0 | min |
| Cumulative merge time of primary shards | | 1.03638 | min |
| Cumulative merge count of primary shards | | 22 | |
| Min cumulative merge time across primary shards | | 0 | min |
| Median cumulative merge time across primary shards | | 0.000266667 | min |
| Max cumulative merge time across primary shards | | 1.03612 | min |
| Cumulative merge throttle time of primary shards | | 0.798767 | min |
| Min cumulative merge throttle time across primary shards | | 0 | min |
| Median cumulative merge throttle time across primary shards | | 0 | min |
| Max cumulative merge throttle time across primary shards | | 0.798767 | min |
| Cumulative refresh time of primary shards | | 0.107117 | min |
| Cumulative refresh count of primary shards | | 61 | |
| Min cumulative refresh time across primary shards | | 0.00236667 | min |
| Median cumulative refresh time across primary shards | | 0.00543333 | min |
| Max cumulative refresh time across primary shards | | 0.0993167 | min |
| Cumulative flush time of primary shards | | 0.0193167 | min |
| Cumulative flush count of primary shards | | 9 | |
| Min cumulative flush time across primary shards | | 0 | min |
| Median cumulative flush time across primary shards | | 0.00871667 | min |
| Max cumulative flush time across primary shards | | 0.0106 | min |
| Total Young Gen GC time | | 5.267 | s |
| Total Young Gen GC count | | 3688 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 1.11609 | GB |
| Translog size | | 0.0304573 | GB |
| Heap used for segments | | 0 | MB |
| Heap used for doc values | | 0 | MB |
| Heap used for terms | | 0 | MB |
| Heap used for norms | | 0 | MB |
| Heap used for points | | 0 | MB |
| Heap used for stored fields | | 0 | MB |
| Segment count | | 18 | |
| Min Throughput | custom-vector-bulk-train | 35950.5 | docs/s |
| Mean Throughput | custom-vector-bulk-train | 35950.5 | docs/s |
| Median Throughput | custom-vector-bulk-train | 35950.5 | docs/s |
| Max Throughput | custom-vector-bulk-train | 35950.5 | docs/s |
| 50th percentile latency | custom-vector-bulk-train | 22.8328 | ms |
| 90th percentile latency | custom-vector-bulk-train | 34.864 | ms |
| 99th percentile latency | custom-vector-bulk-train | 99.471 | ms |
| 100th percentile latency | custom-vector-bulk-train | 210.424 | ms |
| 50th percentile service time | custom-vector-bulk-train | 22.823 | ms |
| 90th percentile service time | custom-vector-bulk-train | 34.864 | ms |
| 99th percentile service time | custom-vector-bulk-train | 99.471 | ms |
| 100th percentile service time | custom-vector-bulk-train | 210.424 | ms |
| error rate | custom-vector-bulk-train | 0 | % |
| Min Throughput | delete-model | 8.39 | ops/s |
| Mean Throughput | delete-model | 8.39 | ops/s |
| Median Throughput | delete-model | 8.39 | ops/s |
| Max Throughput | delete-model | 8.39 | ops/s |
| 100th percentile latency | delete-model | 118.241 | ms |
| 100th percentile service time | delete-model | 118.241 | ms |
| error rate | delete-model | 0 | % |
| Min Throughput | train-knn-model | 0.64 | ops/s |
| Mean Throughput | train-knn-model | 0.64 | ops/s |
| Median Throughput | train-knn-model | 0.64 | ops/s |
| Max Throughput | train-knn-model | 0.64 | ops/s |
| 100th percentile latency | train-knn-model | 1564.44 | ms |
| 100th percentile service time | train-knn-model | 1564.44 | ms |
| error rate | train-knn-model | 0 | % |
| Min Throughput | custom-vector-bulk | 11313.1 | docs/s |
| Mean Throughput | custom-vector-bulk | 14065.7 | docs/s |
| Median Throughput | custom-vector-bulk | 12894.8 | docs/s |
| Max Throughput | custom-vector-bulk | 30050.8 | docs/s |
| 50th percentile latency | custom-vector-bulk | 81.4293 | ms |
| 90th percentile latency | custom-vector-bulk | 111.812 | ms |
| 99th percentile latency | custom-vector-bulk | 196.45 | ms |
| 99.9th percentile latency | custom-vector-bulk | 370.543 | ms |
| 99.99th percentile latency | custom-vector-bulk | 474.156 | ms |
| 100th percentile latency | custom-vector-bulk | 499.048 | ms |
| 50th percentile service time | custom-vector-bulk | 81.4235 | ms |
| 90th percentile service time | custom-vector-bulk | 111.833 | ms |
| 99th percentile service time | custom-vector-bulk | 197.125 | ms |
| 99.9th percentile service time | custom-vector-bulk | 370.543 | ms |
| 99.99th percentile service time | custom-vector-bulk | 474.156 | ms |
| 100th percentile service time | custom-vector-bulk | 499.048 | ms |
| error rate | custom-vector-bulk | 0 | % |
| Min Throughput | force-merge-segments | 0.1 | ops/s |
| Mean Throughput | force-merge-segments | 0.1 | ops/s |
| Median Throughput | force-merge-segments | 0.1 | ops/s |
| Max Throughput | force-merge-segments | 0.1 | ops/s |
| 100th percentile latency | force-merge-segments | 10015.2 | ms |
| 100th percentile service time | force-merge-segments | 10015.2 | ms |
| error rate | force-merge-segments | 0 | % |
| Min Throughput | warmup-indices | 19 | ops/s |
| Mean Throughput | warmup-indices | 19 | ops/s |
| Median Throughput | warmup-indices | 19 | ops/s |
| Max Throughput | warmup-indices | 19 | ops/s |
| 100th percentile latency | warmup-indices | 52.1685 | ms |
| 100th percentile service time | warmup-indices | 52.1685 | ms |
| error rate | warmup-indices | 0 | % |
| Min Throughput | prod-queries | 159.49 | ops/s |
| Mean Throughput | prod-queries | 159.49 | ops/s |
| Median Throughput | prod-queries | 159.49 | ops/s |
| Max Throughput | prod-queries | 159.49 | ops/s |
| 50th percentile latency | prod-queries | 1.92377 | ms |
| 90th percentile latency | prod-queries | 2.63867 | ms |
| 99th percentile latency | prod-queries | 48.513 | ms |
| 100th percentile latency | prod-queries | 90.543 | ms |
| 50th percentile service time | prod-queries | 1.92377 | ms |
| 90th percentile service time | prod-queries | 2.63867 | ms |
| 99th percentile service time | prod-queries | 48.513 | ms |
| 100th percentile service time | prod-queries | 90.543 | ms |
| error rate | prod-queries | 0 | % |
| Mean recall@k | prod-queries | 0.96 | |
| Mean recall@1 | prod-queries | 0.98 | |
---------------------------------
[INFO] SUCCESS (took 218 seconds)
---------------------------------
Faiss IVF 带乘积量化(100 个搜索查询)
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 11.3862 | min |
| Min cumulative indexing time across primary shards | | 0.0003 | min |
| Median cumulative indexing time across primary shards | | 0.12735 | min |
| Max cumulative indexing time across primary shards | | 11.2586 | min |
| Cumulative indexing throttle time of primary shards | | 0 | min |
| Min cumulative indexing throttle time across primary shards | | 0 | min |
| Median cumulative indexing throttle time across primary shards | | 0 | min |
| Max cumulative indexing throttle time across primary shards | | 0 | min |
| Cumulative merge time of primary shards | | 1.50842 | min |
| Cumulative merge count of primary shards | | 19 | |
| Min cumulative merge time across primary shards | | 0 | min |
| Median cumulative merge time across primary shards | | 0.000233333 | min |
| Max cumulative merge time across primary shards | | 1.50818 | min |
| Cumulative merge throttle time of primary shards | | 0.58095 | min |
| Min cumulative merge throttle time across primary shards | | 0 | min |
| Median cumulative merge throttle time across primary shards | | 0 | min |
| Max cumulative merge throttle time across primary shards | | 0.58095 | min |
| Cumulative refresh time of primary shards | | 0.2059 | min |
| Cumulative refresh count of primary shards | | 61 | |
| Min cumulative refresh time across primary shards | | 0.00238333 | min |
| Median cumulative refresh time across primary shards | | 0.00526667 | min |
| Max cumulative refresh time across primary shards | | 0.19825 | min |
| Cumulative flush time of primary shards | | 0.0254667 | min |
| Cumulative flush count of primary shards | | 10 | |
| Min cumulative flush time across primary shards | | 0 | min |
| Median cumulative flush time across primary shards | | 0.0118333 | min |
| Max cumulative flush time across primary shards | | 0.0136333 | min |
| Total Young Gen GC time | | 6.477 | s |
| Total Young Gen GC count | | 3565 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 0.892541 | GB |
| Translog size | | 0.0304573 | GB |
| Heap used for segments | | 0 | MB |
| Heap used for doc values | | 0 | MB |
| Heap used for terms | | 0 | MB |
| Heap used for norms | | 0 | MB |
| Heap used for points | | 0 | MB |
| Heap used for stored fields | | 0 | MB |
| Segment count | | 21 | |
| Min Throughput | custom-vector-bulk-train | 31931 | docs/s |
| Mean Throughput | custom-vector-bulk-train | 31931 | docs/s |
| Median Throughput | custom-vector-bulk-train | 31931 | docs/s |
| Max Throughput | custom-vector-bulk-train | 31931 | docs/s |
| 50th percentile latency | custom-vector-bulk-train | 25.3297 | ms |
| 90th percentile latency | custom-vector-bulk-train | 35.3864 | ms |
| 99th percentile latency | custom-vector-bulk-train | 144.372 | ms |
| 100th percentile latency | custom-vector-bulk-train | 209.37 | ms |
| 50th percentile service time | custom-vector-bulk-train | 25.3226 | ms |
| 90th percentile service time | custom-vector-bulk-train | 35.3864 | ms |
| 99th percentile service time | custom-vector-bulk-train | 144.372 | ms |
| 100th percentile service time | custom-vector-bulk-train | 209.37 | ms |
| error rate | custom-vector-bulk-train | 0 | % |
| Min Throughput | delete-model | 8.65 | ops/s |
| Mean Throughput | delete-model | 8.65 | ops/s |
| Median Throughput | delete-model | 8.65 | ops/s |
| Max Throughput | delete-model | 8.65 | ops/s |
| 100th percentile latency | delete-model | 114.725 | ms |
| 100th percentile service time | delete-model | 114.725 | ms |
| error rate | delete-model | 0 | % |
| Min Throughput | train-knn-model | 0.03 | ops/s |
| Mean Throughput | train-knn-model | 0.03 | ops/s |
| Median Throughput | train-knn-model | 0.03 | ops/s |
| Max Throughput | train-knn-model | 0.03 | ops/s |
| 100th percentile latency | train-knn-model | 37222.2 | ms |
| 100th percentile service time | train-knn-model | 37222.2 | ms |
| error rate | train-knn-model | 0 | % |
| Min Throughput | custom-vector-bulk | 10669.3 | docs/s |
| Mean Throughput | custom-vector-bulk | 14468.6 | docs/s |
| Median Throughput | custom-vector-bulk | 12496.1 | docs/s |
| Max Throughput | custom-vector-bulk | 35027.8 | docs/s |
| 50th percentile latency | custom-vector-bulk | 74.2584 | ms |
| 90th percentile latency | custom-vector-bulk | 113.426 | ms |
| 99th percentile latency | custom-vector-bulk | 293.075 | ms |
| 99.9th percentile latency | custom-vector-bulk | 1774.41 | ms |
| 99.99th percentile latency | custom-vector-bulk | 1969.99 | ms |
| 100th percentile latency | custom-vector-bulk | 1971.29 | ms |
| 50th percentile service time | custom-vector-bulk | 74.2577 | ms |
| 90th percentile service time | custom-vector-bulk | 113.477 | ms |
| 99th percentile service time | custom-vector-bulk | 292.481 | ms |
| 99.9th percentile service time | custom-vector-bulk | 1774.41 | ms |
| 99.99th percentile service time | custom-vector-bulk | 1969.99 | ms |
| 100th percentile service time | custom-vector-bulk | 1971.29 | ms |
| error rate | custom-vector-bulk | 0 | % |
| Min Throughput | force-merge-segments | 0.05 | ops/s |
| Mean Throughput | force-merge-segments | 0.05 | ops/s |
| Median Throughput | force-merge-segments | 0.05 | ops/s |
| Max Throughput | force-merge-segments | 0.05 | ops/s |
| 100th percentile latency | force-merge-segments | 20015.2 | ms |
| 100th percentile service time | force-merge-segments | 20015.2 | ms |
| error rate | force-merge-segments | 0 | % |
| Min Throughput | warmup-indices | 47.06 | ops/s |
| Mean Throughput | warmup-indices | 47.06 | ops/s |
| Median Throughput | warmup-indices | 47.06 | ops/s |
| Max Throughput | warmup-indices | 47.06 | ops/s |
| 100th percentile latency | warmup-indices | 20.6798 | ms |
| 100th percentile service time | warmup-indices | 20.6798 | ms |
| error rate | warmup-indices | 0 | % |
| Min Throughput | prod-queries | 87.76 | ops/s |
| Mean Throughput | prod-queries | 87.76 | ops/s |
| Median Throughput | prod-queries | 87.76 | ops/s |
| Max Throughput | prod-queries | 87.76 | ops/s |
| 50th percentile latency | prod-queries | 1.81677 | ms |
| 90th percentile latency | prod-queries | 2.80454 | ms |
| 99th percentile latency | prod-queries | 51.2039 | ms |
| 100th percentile latency | prod-queries | 98.2032 | ms |
| 50th percentile service time | prod-queries | 1.81677 | ms |
| 90th percentile service time | prod-queries | 2.80454 | ms |
| 99th percentile service time | prod-queries | 51.2039 | ms |
| 100th percentile service time | prod-queries | 98.2032 | ms |
| error rate | prod-queries | 0 | % |
| Mean recall@k | prod-queries | 0.62 | |
| Mean recall@1 | prod-queries | 0.52 | |
---------------------------------
[INFO] SUCCESS (took 413 seconds)
---------------------------------