Link Search Menu Expand Document Documentation Menu

Vector search

The vector search workload benchmarks OpenSearch’s vector engine capabilities for both indexing and search operations. It tests various vector search algorithms, quantization methods, and index configurations to measure performance metrics like throughput, latency, and recall accuracy. The workload supports different datasets and can evaluate both trained and untrained vector search methods.

This workload currently supports datasets in either the HDF5 or BIG-ANN formats. To download the datasets, use this link.

Supported workload parameters

The following workload parameters are supported by the vector search workload.

Name Description
target_index_name The name of index to which to add vectors.
target_field_name The name of the field to which to add vectors. Use “.” to indicate a nested field.
target_index_body The path to the target index definition.
target_index_primary_shards The target index’s primary shards.
target_index_replica_shards The target index’s replica shards.
target_index_dimension The dimension of the target index.
target_index_space_type The target index space type.
target_index_bulk_size The target index bulk size.
target_index_bulk_index_data_set_format The format of the vector dataset.
target_index_bulk_index_data_set_path The path to the vector dataset in the index.
target_index_bulk_index_data_set_corpus The corpus name of the vector dataset.
target_index_bulk_index_clients The clients to be used for bulk ingestion. Must be a divisor of dataset size.
target_index_max_num_segments The number of segments to merge into the target index before beginning to search.
target_index_force_merge_timeout The amount of time (in seconds) to wait before force merging requests.
hnsw_ef_search THE HNSW ef search parameter.
hnsw_ef_construction The HNSW ef construction parameter.
id_field_name The name of the field that will be used to identify documents in an index.
hnsw_m The HNSW m parameter.
query_k The number of neighbors to return for the search. Only one of query_k, query_max_distance, or query_min_score can be provided.
query_max_distance The maximum distance to be returned for the vector search. Only one of query_k, query_max_distance, or query_min_score can be provided.
query_min_score The minimum score to be returned for the vector search. Only one of query_k, query_max_distance, or query_min_score can be provided.
query_data_set_format The format of the vector dataset used for queries. Only one of query_k, query_max_distance, or query_min_score can be provided.
query_data_set_path The path to the vector dataset used for queries.
query_count The number of queries used for the search operation.
query_body The JSON properties that will be merged with the search body.
search_clients The number of clients used to run queries.
repetitions The number of repetitions completed until the dataset is exhausted. Default is 1.
target_throughput The target throughput for each query operation, in requests per second. Default is 10.
time_period The period of time dedicated to running the benchmark test, in seconds. Default is 900.

Test procedures

The vector search workload supports the following test procedures.

No-train test procedure

The no-train test procedure tests vector search indexes that require no training. You can define the underlying configuration of the vector search algorithm (such as specifying a specific engine or space type) as method definitions.

No-train test (index only) procedure

The no-train test (index only) procedure is used to index vector search indexes that require no training. This can be particularly useful when you want to benchmark only the indexing operation.

No-train test (Amazon OpenSearch Serverless)

The no-train test procedure for Amazon OpenSearch Serverless is used specifically for OpenSearch Serverless vector search collections. This procedure doesn’t include operations like refresh and warmup because they aren’t supported by vector search collections.

Force merge index procedure

The force merge index procedure optimizes vector search indexes by performing force merge operations up to a given maximum number of segments. For large datasets, force merging is a costly operation. Therefore, we recommend using a separate procedure to occasionally trigger force merge operations based on user requirements.

Train test procedure

The train test procedure benchmarks approximate k-NN search algorithms that require a training step. For example, the Faiss Inverted File Indexing (IVF) technique requires a training step in order to retrieve cluster vectors. After the step is performed, the benchmark can search a smaller number of cluster centroids instead of the entire dataset.

Search procedure

The search procedure benchmarks previously indexed vector search indexes. This can be useful when you want to benchmark large vector search indexes without reindexing each time because load time can be substantial for large datasets. This procedure includes warmup operations intended to avoid cold start problems during vector search.

Custom runners

Only one custom runner, warmup-knn-indices, is supported by the vector search workload. This runner will warm up k-NN indexes and retry the warmup until it succeeds.

Running the workload

To run the vector search workload, use the following command:

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

Sample results

When using the vector search workload, you can expect results similar to the following.

Train test procedure

The following example provides results from the train test procedure:

------------------------------------------------------
    _______             __   _____
   / ____(_)___  ____ _/ /  / ___/_________  ________
  / /_  / / __ \/ __ `/ /   \__ \/ ___/ __ \/ ___/ _ \
 / __/ / / / / / /_/ / /   ___/ / /__/ /_/ / /  /  __/
/_/   /_/_/ /_/\__,_/_/   /____/\___/\____/_/   \___/
------------------------------------------------------
            
|                                                         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 results

The following sample outputs were generated using the Faiss IVF benchmarking procedure. For brevity, the test used 100 search queries instead of the 10,000 specified in the parameter files. All other parameters remain the same as those in the params/train folder. The first run demonstrates results without quantization, the second run demonstrates scalar quantization, and the third run demonstrates product quantization. Note that quantization may cause search recall to drop.

Faiss IVF with no quantization/flat encoding

|                                                         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 with scalar quantization (100 search queries)

|                                                         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 with product quantization (100 search queries)

|                                                         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)
---------------------------------