-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Searchable Snapshot] Configure and run initial benchmarks #4797
Comments
[Update on 11/13/2022] Did a very initial benchmark for Searchable Snapshot feature. Node configuration: Benchmark workload configuration: {
"version": 2,
"description": "Initial benchmark for Searchable Snapshot feature",
"indices": [
{
"name": "geonames",
"body": "index.json"
}
],
"corpora": [
{
"name": "sample-document",
"documents": [
{
"source-file": "documents.json",
"document-count": 11658903,
"uncompressed-bytes": 1544799789
}
]
}
],
"schedule": [
{
"operation": {
"name": "delete-index-before-test",
"operation-type": "delete-index"
}
},
{
"operation": {
"operation-type": "create-index"
}
},
{
"operation": {
"operation-type": "cluster-health",
"request-params": {
"wait_for_status": "green"
},
"retry-until-success": true
}
},
{
"operation": {
"operation-type": "bulk",
"bulk-size": 5000
},
"warmup-time-period": 120,
"clients": 8
},
{
"operation": {
"operation-type": "create-snapshot-repository",
"repository": "test-repository",
"body": {
"type": "fs",
"settings": {
"location": "/tmp/opensearch_backups"
}
}
}
},
{
"operation": {
"operation-type": "create-snapshot",
"repository": "test-repository",
"snapshot": "test-snapshot",
"body": {
"indices": []
}
}
},
{
"operation": {
"operation-type": "wait-for-snapshot-create",
"repository": "test-repository",
"snapshot": "test-snapshot"
}
},
{
"operation": {
"name": "delete-local-index-to-create-from-snapshot",
"operation-type": "delete-index"
}
},
{
"operation": {
"operation-type": "restore-snapshot",
"repository": "test-repository",
"snapshot": "test-snapshot",
"body": {
"indices": [],
"storage_type": "remote_snapshot"
},
"wait-for-completion": true,
"request-params": {
"request_timeout": 7200
}
}
},
{
"operation": {
"operation-type": "force-merge"
}
},
{
"operation": {
"name": "query-match-all",
"operation-type": "search",
"body": {
"query": {
"match_all": {}
}
}
},
"clients": 8,
"warmup-iterations": 1000,
"iterations": 1000,
"target-throughput": 100
}
]
} 3 The workload can be modified to a control group by removing the operations of deleting index and restoring from snapshot. Run benchmark: Although I didn't find difference in the search performance between the local index and index backed by snapshot, the procedure in above can be taken as a reference. |
Great work @tlfeng! One nitpick...that |
After discovery and lots of experiments, I'm able to make the benchmark runs with a cluster provisioned by the benchmarking tool, instead of an external cluster set up manually. [Updated on 11/10/2022] Create custom OpenSearch node configuration for the tool Take creating a custom node configuration for Searchable Snapshot as an example:
Content of [meta]
description=Node configuration for testing Searchable Snapshots
type=mixin
[config]
base=searchable-snapshot Content of
(if you want to assign the "access key" and "secret key" of AWS account in workload files directly, append
The custom workload I used to run a simple benchmark {
"version": 2,
"description": "Initial benchmark for Searchable Snapshot feature",
"indices": [
{
"name": "geonames",
"body": "index.json"
}
],
"corpora": [
{
"name": "sample-document",
"documents": [
{
"source-file": "documents.json",
"document-count": 12349803,
"uncompressed-bytes": 1637903815
}
]
}
],
"schedule": [
{
"operation": {
"name": "delete-index-before-test",
"operation-type": "delete-index"
}
},
{
"operation": {
"operation-type": "create-index"
}
},
{
"operation": {
"operation-type": "cluster-health",
"request-params": {
"wait_for_status": "green"
},
"retry-until-success": true
}
},
{
"operation": {
"operation-type": "bulk",
"bulk-size": 5000
},
"warmup-time-period": 120,
"clients": 8
},
{
"operation": {
"operation-type": "create-snapshot-repository",
"repository": "test-repository",
"body": {
"type": "s3",
"settings": {
"bucket": "<Your bucket name",
"region": "<Your bucket region>"
}
}
}
},
{
"operation": {
"operation-type": "create-snapshot",
"repository": "test-repository",
"snapshot": "{{ snapshot_name | default('test-snapshot') }}",
"body": {
"indices": []
}
}
},
{
"operation": {
"operation-type": "wait-for-snapshot-create",
"repository": "test-repository",
"snapshot": "{{ snapshot_name | default('test-snapshot') }}"
}
},
{
"operation": {
"name": "delete-local-index-to-create-from-snapshot",
"operation-type": "delete-index"
}
},
{
"operation": {
"operation-type": "restore-snapshot",
"repository": "test-repository",
"snapshot": "{{ snapshot_name | default('test-snapshot') }}",
"body": {
"indices": [],
"storage_type": "remote_snapshot"
},
"wait-for-completion": true,
"request-params": {
"request_timeout": 7200
}
}
},
{
"operation": {
"operation-type": "force-merge"
}
},
{
"operation": {
"name": "query-match-all",
"operation-type": "search",
"body": {
"query": {
"match_all": {}
}
}
},
"clients": 8,
"warmup-iterations": 1000,
"iterations": 1000,
"target-throughput": 100
}
]
} Note for
{
"operation": {
"operation-type": "create-snapshot-repository",
"repository": "test-repository",
"body": {
"type": "s3",
"settings": {
"bucket": "<Your bucket name>",
"region": "<Your bucket region>",
"access_key": "<your AWS access key>",
"secret_key": "<your AWS secret key>"
}
}
}
},
"indices": [
{
"name": "nyc_taxis",
"body": "index.json"
}
],
"corpora": [
{
"name": "nyc_taxis",
"base-url": "https://opensearch-benchmark-workloads.s3.amazonaws.com/corpora/nyc_taxis",
"documents": [
{
"source-file": "documents.json.bz2",
"document-count": 165346692,
"compressed-bytes": 4820107188,
"uncompressed-bytes": 79802445255
}
]
}
], The command to run the benchmark Base command: |
The plan for adding first class support for testing searchable snapshot workloads to opensearch-benchmark The only action - Add a "workload" to opensearch-benchmark-workloads repository The detailed benchmarking scenario has not been decided yet, but it can be copied from the existing workloads in the above repository for a convenient comparsion. While the scenario can vary, the following operations is the core procedures for Searchable Snapshots feature, and need to be included. {
"operation": {
"operation-type": "create-snapshot-repository",
"repository": "test-repository",
"body": {
"type": "s3",
"settings": {
"bucket": "{{ s3_bucket_name }}",
"region": "{{ s3_bucket_region }}"
}
}
}
},
{
"operation": {
"operation-type": "create-snapshot",
"repository": "{{ repository_name | default('test-repository') }}",
"snapshot": "{{ snapshot_name | default('test-snapshot') }}",
"body": {
"indices": []
}
}
},
{
"operation": {
"operation-type": "wait-for-snapshot-create",
"repository": "{{ repository_name | default('test-repository') }}",
"snapshot": "{{ snapshot_name | default('test-snapshot') }}"
}
},
{
"operation": {
"name": "delete-local-index-to-create-from-snapshot",
"operation-type": "delete-index"
}
},
{
"operation": {
"operation-type": "restore-snapshot",
"repository": "{{ repository_name | default('test-repository') }}",
"snapshot": "{{ snapshot_name | default('test-snapshot') }}",
"body": {
"indices": [],
"storage_type": "remote_snapshot"
},
"wait-for-completion": true,
"request-params": {
"request_timeout": 3600
}
}
}, Local configuration
{
"s3_client_name": "default",
"s3_access_key": "<your AWS access key>",
"s3_secret_key": "<your AWS secret key>",
} Note: The file name can be changed, but the three fields are mandatory.
{
"snapshot_name": "<your snapshot name>"
} Note: The file name can be changed, the "snapshot_name" field is optional, but it's useful when running the workloads multiple times. There is no operation defined by opensearch-benchmark to delete a snapshot, so different snapshot name is needed to run multiple times.
Create file {
"additional_cluster_settings": {
"node.roles": "ingest, remote_cluster_client, data, cluster_manager, search"
},
"additional_java_settings": [
"-Dopensearch.experimental.feature.searchable_snapshot.enabled=true"
]
} Note: The file name can be changed. Run the performance test / benchmark Additional required parameter for this workload: Some useful optional parameter: [Update on 11/13/2022] |
The next steps to fully accomplish the goal in the issue:
The modification plan is to add the "core block" of creating and restoring snapshot that mentioned in my above comment, to the code here, between ingesting data and perform search requests of the original workload. Then use the command to run the benchmark:
|
Post a benchmark result here, when using [Update on 11/13/2022] In test mode:
The contender is a modified workload using searchable snapshot feature, with an index backed with remote snapshot. Running in an EC2 instance, type opensearch-benchmark compare --baseline=86b1970a-32c9-4a4e-9d0a-80eb899501b8 --contender=3fc6b118-2458-48d4-8ade-fb14774cac5e
____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
Comparing baseline
TestExecution ID: 86b1970a-32c9-4a4e-9d0a-80eb899501b8
TestExecution timestamp: 2022-11-04 17:06:57
TestProcedure: append-no-conflicts
ProvisionConfigInstance: 16gheap
with contender
TestExecution ID: 3fc6b118-2458-48d4-8ade-fb14774cac5e
TestExecution timestamp: 2022-11-04 17:01:13
TestProcedure: append-no-conflicts
ProvisionConfigInstance: 16gheap+searchable-snapshot
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Baseline | Contender | Diff | Unit |
|--------------------------------------------------------------:|--------------------:|------------:|------------:|---------:|-------:|
| Cumulative indexing time of primary shards | | 0.0156833 | 0 | -0.01568 | min |
| Min cumulative indexing time across primary shard | | 0.0156833 | 0 | -0.01568 | min |
| Median cumulative indexing time across primary shard | | 0.0156833 | 0 | -0.01568 | min |
| Max cumulative indexing time across primary shard | | 0.0156833 | 0 | -0.01568 | min |
| Cumulative indexing throttle time of primary shards | | 0 | 0 | 0 | min |
| Min cumulative indexing throttle time across primary shard | | 0 | 0 | 0 | min |
| Median cumulative indexing throttle time across primary shard | | 0 | 0 | 0 | min |
| Max cumulative indexing throttle time across primary shard | | 0 | 0 | 0 | min |
| Cumulative merge time of primary shards | | 0 | 0 | 0 | min |
| Cumulative merge count of primary shards | | 0 | 0 | 0 | |
| Min cumulative merge time across primary shard | | 0 | 0 | 0 | min |
| Median cumulative merge time across primary shard | | 0 | 0 | 0 | min |
| Max cumulative merge time across primary shard | | 0 | 0 | 0 | min |
| Cumulative merge throttle time of primary shards | | 0 | 0 | 0 | min |
| Min cumulative merge throttle time across primary shard | | 0 | 0 | 0 | min |
| Median cumulative merge throttle time across primary shard | | 0 | 0 | 0 | min |
| Max cumulative merge throttle time across primary shard | | 0 | 0 | 0 | min |
| Cumulative refresh time of primary shards | | 0.00223333 | 0 | -0.00223 | min |
| Cumulative refresh count of primary shards | | 5 | 0 | -5 | |
| Min cumulative refresh time across primary shard | | 0.00223333 | 0 | -0.00223 | min |
| Median cumulative refresh time across primary shard | | 0.00223333 | 0 | -0.00223 | min |
| Max cumulative refresh time across primary shard | | 0.00223333 | 0 | -0.00223 | min |
| Cumulative flush time of primary shards | | 0 | 0 | 0 | min |
| Cumulative flush count of primary shards | | 0 | 0 | 0 | |
| Min cumulative flush time across primary shard | | 0 | 0 | 0 | min |
| Median cumulative flush time across primary shard | | 0 | 0 | 0 | min |
| Max cumulative flush time across primary shard | | 0 | 0 | 0 | min |
| Total Young Gen GC time | | 0 | 0 | 0 | s |
| Total Young Gen GC count | | 0 | 0 | 0 | |
| Total Old Gen GC time | | 0 | 0 | 0 | s |
| Total Old Gen GC count | | 0 | 0 | 0 | |
| Store size | | 0.000252362 | 0.000254965 | 0 | GB |
| Translog size | | 5.12227e-08 | 0 | -0 | GB |
| Heap used for segments | | 0 | 0 | 0 | MB |
| Heap used for doc values | | 0 | 0 | 0 | MB |
| Heap used for terms | | 0 | 0 | 0 | MB |
| Heap used for norms | | 0 | 0 | 0 | MB |
| Heap used for points | | 0 | 0 | 0 | MB |
| Heap used for stored fields | | 0 | 0 | 0 | MB |
| Segment count | | 8 | 8 | 0 | |
| Min Throughput | index | 4498.75 | 4402.39 | -96.3607 | docs/s |
| Mean Throughput | index | 4498.75 | 4402.39 | -96.3607 | docs/s |
| Median Throughput | index | 4498.75 | 4402.39 | -96.3607 | docs/s |
| Max Throughput | index | 4498.75 | 4402.39 | -96.3607 | docs/s |
| 50th percentile latency | index | 204.216 | 211.994 | 7.77821 | ms |
| 100th percentile latency | index | 213.591 | 218.374 | 4.7832 | ms |
| 50th percentile service time | index | 204.216 | 211.994 | 7.77821 | ms |
| 100th percentile service time | index | 213.591 | 218.374 | 4.7832 | ms |
| error rate | index | 0 | 0 | 0 | % |
| Min Throughput | default | 17.0141 | 10.0024 | -7.01168 | ops/s |
| Mean Throughput | default | 17.0141 | 10.0024 | -7.01168 | ops/s |
| Median Throughput | default | 17.0141 | 10.0024 | -7.01168 | ops/s |
| Max Throughput | default | 17.0141 | 10.0024 | -7.01168 | ops/s |
| 100th percentile latency | default | 64.695 | 134.064 | 69.3691 | ms |
| 100th percentile service time | default | 5.61543 | 33.7547 | 28.1393 | ms |
| error rate | default | 0 | 0 | 0 | % |
| Min Throughput | range | 53.153 | 2.06244 | -51.0906 | ops/s |
| Mean Throughput | range | 53.153 | 2.06244 | -51.0906 | ops/s |
| Median Throughput | range | 53.153 | 2.06244 | -51.0906 | ops/s |
| Max Throughput | range | 53.153 | 2.06244 | -51.0906 | ops/s |
| 100th percentile latency | range | 24.9561 | 914.374 | 889.418 | ms |
| 100th percentile service time | range | 5.86243 | 429.044 | 423.182 | ms |
| error rate | range | 0 | 0 | 0 | % |
| Min Throughput | distance_amount_agg | 29.9656 | 25.7695 | -4.19615 | ops/s |
| Mean Throughput | distance_amount_agg | 29.9656 | 25.7695 | -4.19615 | ops/s |
| Median Throughput | distance_amount_agg | 29.9656 | 25.7695 | -4.19615 | ops/s |
| Max Throughput | distance_amount_agg | 29.9656 | 25.7695 | -4.19615 | ops/s |
| 100th percentile latency | distance_amount_agg | 38.4376 | 44.4476 | 6.01003 | ms |
| 100th percentile service time | distance_amount_agg | 4.77297 | 5.28203 | 0.50905 | ms |
| error rate | distance_amount_agg | 0 | 0 | 0 | % |
| Min Throughput | autohisto_agg | 45.1047 | 5.93174 | -39.1729 | ops/s |
| Mean Throughput | autohisto_agg | 45.1047 | 5.93174 | -39.1729 | ops/s |
| Median Throughput | autohisto_agg | 45.1047 | 5.93174 | -39.1729 | ops/s |
| Max Throughput | autohisto_agg | 45.1047 | 5.93174 | -39.1729 | ops/s |
| 100th percentile latency | autohisto_agg | 28.1104 | 295.84 | 267.73 | ms |
| 100th percentile service time | autohisto_agg | 5.66798 | 126.905 | 121.237 | ms |
| error rate | autohisto_agg | 0 | 0 | 0 | % |
| Min Throughput | date_histogram_agg | 87.7203 | 7.12393 | -80.5964 | ops/s |
| Mean Throughput | date_histogram_agg | 87.7203 | 7.12393 | -80.5964 | ops/s |
| Median Throughput | date_histogram_agg | 87.7203 | 7.12393 | -80.5964 | ops/s |
| Max Throughput | date_histogram_agg | 87.7203 | 7.12393 | -80.5964 | ops/s |
| 100th percentile latency | date_histogram_agg | 16.8181 | 274.741 | 257.922 | ms |
| 100th percentile service time | date_histogram_agg | 5.12861 | 133.956 | 128.827 | ms |
| error rate | date_histogram_agg | 0 | 0 | 0 | % | The below are separate results: With Searchable Snapshots: ____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
[INFO] Preparing for test execution ...
[INFO] Executing test with workload [nyc_taxis], test_procedure [append-no-conflicts] and provision_config_instance ['16gheap', 'searchable-snapshot'] with version [2.4.0-SNAPSHOT].
Running delete-index [100% done]
Running create-index [100% done]
Running check-cluster-health [100% done]
Running index [100% done]
Running refresh-after-index [100% done]
Running refresh-after-force-merge [100% done]
Running create-snapshot-repository [100% done]
Running create-snapshot [100% done]
Running wait-for-snapshot-create [100% done]
Running delete-local-index-to-create-from-snapshot [100% done]
Running restore-snapshot [100% done]
Running default [100% done]
Running range [100% done]
Running distance_amount_agg [100% done]
Running autohisto_agg [100% done]
Running date_histogram_agg [100% done]
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 0 | min |
| Min cumulative indexing time across primary shards | | 0 | min |
| Median cumulative indexing time across primary shards | | 0 | min |
| Max cumulative indexing time across primary shards | | 0 | 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 | min |
| Cumulative refresh count of primary shards | | 0 | |
| Min cumulative refresh time across primary shards | | 0 | min |
| Median cumulative refresh time across primary shards | | 0 | min |
| Max cumulative refresh time across primary shards | | 0 | min |
| Cumulative flush time of primary shards | | 0 | min |
| Cumulative flush count of primary shards | | 0 | |
| 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 | min |
| Total Young Gen GC time | | 0 | s |
| Total Young Gen GC count | | 0 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 0.000254965 | GB |
| Translog size | | 0 | 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 | | 8 | |
| Min Throughput | index | 4402.39 | docs/s |
| Mean Throughput | index | 4402.39 | docs/s |
| Median Throughput | index | 4402.39 | docs/s |
| Max Throughput | index | 4402.39 | docs/s |
| 50th percentile latency | index | 211.994 | ms |
| 100th percentile latency | index | 218.374 | ms |
| 50th percentile service time | index | 211.994 | ms |
| 100th percentile service time | index | 218.374 | ms |
| error rate | index | 0 | % |
| Min Throughput | wait-for-snapshot-create | 684418 | byte/s |
| Mean Throughput | wait-for-snapshot-create | 684418 | byte/s |
| Median Throughput | wait-for-snapshot-create | 684418 | byte/s |
| Max Throughput | wait-for-snapshot-create | 684418 | byte/s |
| 100th percentile latency | wait-for-snapshot-create | 1255.97 | ms |
| 100th percentile service time | wait-for-snapshot-create | 1255.97 | ms |
| error rate | wait-for-snapshot-create | 0 | % |
| Min Throughput | default | 10 | ops/s |
| Mean Throughput | default | 10 | ops/s |
| Median Throughput | default | 10 | ops/s |
| Max Throughput | default | 10 | ops/s |
| 100th percentile latency | default | 134.064 | ms |
| 100th percentile service time | default | 33.7547 | ms |
| error rate | default | 0 | % |
| Min Throughput | range | 2.06 | ops/s |
| Mean Throughput | range | 2.06 | ops/s |
| Median Throughput | range | 2.06 | ops/s |
| Max Throughput | range | 2.06 | ops/s |
| 100th percentile latency | range | 914.374 | ms |
| 100th percentile service time | range | 429.044 | ms |
| error rate | range | 0 | % |
| Min Throughput | distance_amount_agg | 25.77 | ops/s |
| Mean Throughput | distance_amount_agg | 25.77 | ops/s |
| Median Throughput | distance_amount_agg | 25.77 | ops/s |
| Max Throughput | distance_amount_agg | 25.77 | ops/s |
| 100th percentile latency | distance_amount_agg | 44.4476 | ms |
| 100th percentile service time | distance_amount_agg | 5.28203 | ms |
| error rate | distance_amount_agg | 0 | % |
| Min Throughput | autohisto_agg | 5.93 | ops/s |
| Mean Throughput | autohisto_agg | 5.93 | ops/s |
| Median Throughput | autohisto_agg | 5.93 | ops/s |
| Max Throughput | autohisto_agg | 5.93 | ops/s |
| 100th percentile latency | autohisto_agg | 295.84 | ms |
| 100th percentile service time | autohisto_agg | 126.905 | ms |
| error rate | autohisto_agg | 0 | % |
| Min Throughput | date_histogram_agg | 7.12 | ops/s |
| Mean Throughput | date_histogram_agg | 7.12 | ops/s |
| Median Throughput | date_histogram_agg | 7.12 | ops/s |
| Max Throughput | date_histogram_agg | 7.12 | ops/s |
| 100th percentile latency | date_histogram_agg | 274.741 | ms |
| 100th percentile service time | date_histogram_agg | 133.956 | ms |
| error rate | date_histogram_agg | 0 | % |
--------------------------------
[INFO] SUCCESS (took 36 seconds)
-------------------------------- Without using Searchable Snapshots: ____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
[INFO] Preparing for test execution ...
[INFO] Executing test with workload [nyc_taxis], test_procedure [append-no-conflicts] and provision_config_instance ['16gheap'] with version [2.4.0-SNAPSHOT].
Running delete-index [100% done]
Running create-index [100% done]
Running check-cluster-health [100% done]
Running index [100% done]
Running refresh-after-index [100% done]
Running force-merge [100% done]
Running refresh-after-force-merge [100% done]
Running wait-until-merges-finish [100% done]
Running default [100% done]
Running range [100% done]
Running distance_amount_agg [100% done]
Running autohisto_agg [100% done]
Running date_histogram_agg [100% done]
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 0.0156833 | min |
| Min cumulative indexing time across primary shards | | 0.0156833 | min |
| Median cumulative indexing time across primary shards | | 0.0156833 | min |
| Max cumulative indexing time across primary shards | | 0.0156833 | 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.00223333 | min |
| Cumulative refresh count of primary shards | | 5 | |
| Min cumulative refresh time across primary shards | | 0.00223333 | min |
| Median cumulative refresh time across primary shards | | 0.00223333 | min |
| Max cumulative refresh time across primary shards | | 0.00223333 | min |
| Cumulative flush time of primary shards | | 0 | min |
| Cumulative flush count of primary shards | | 0 | |
| 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 | min |
| Total Young Gen GC time | | 0 | s |
| Total Young Gen GC count | | 0 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 0.000252362 | GB |
| Translog size | | 5.12227e-08 | 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 | | 8 | |
| Min Throughput | index | 4498.75 | docs/s |
| Mean Throughput | index | 4498.75 | docs/s |
| Median Throughput | index | 4498.75 | docs/s |
| Max Throughput | index | 4498.75 | docs/s |
| 50th percentile latency | index | 204.216 | ms |
| 100th percentile latency | index | 213.591 | ms |
| 50th percentile service time | index | 204.216 | ms |
| 100th percentile service time | index | 213.591 | ms |
| error rate | index | 0 | % |
| Min Throughput | wait-until-merges-finish | 81.49 | ops/s |
| Mean Throughput | wait-until-merges-finish | 81.49 | ops/s |
| Median Throughput | wait-until-merges-finish | 81.49 | ops/s |
| Max Throughput | wait-until-merges-finish | 81.49 | ops/s |
| 100th percentile latency | wait-until-merges-finish | 11.7257 | ms |
| 100th percentile service time | wait-until-merges-finish | 11.7257 | ms |
| error rate | wait-until-merges-finish | 0 | % |
| Min Throughput | default | 17.01 | ops/s |
| Mean Throughput | default | 17.01 | ops/s |
| Median Throughput | default | 17.01 | ops/s |
| Max Throughput | default | 17.01 | ops/s |
| 100th percentile latency | default | 64.695 | ms |
| 100th percentile service time | default | 5.61543 | ms |
| error rate | default | 0 | % |
| Min Throughput | range | 53.15 | ops/s |
| Mean Throughput | range | 53.15 | ops/s |
| Median Throughput | range | 53.15 | ops/s |
| Max Throughput | range | 53.15 | ops/s |
| 100th percentile latency | range | 24.9561 | ms |
| 100th percentile service time | range | 5.86243 | ms |
| error rate | range | 0 | % |
| Min Throughput | distance_amount_agg | 29.97 | ops/s |
| Mean Throughput | distance_amount_agg | 29.97 | ops/s |
| Median Throughput | distance_amount_agg | 29.97 | ops/s |
| Max Throughput | distance_amount_agg | 29.97 | ops/s |
| 100th percentile latency | distance_amount_agg | 38.4376 | ms |
| 100th percentile service time | distance_amount_agg | 4.77297 | ms |
| error rate | distance_amount_agg | 0 | % |
| Min Throughput | autohisto_agg | 45.1 | ops/s |
| Mean Throughput | autohisto_agg | 45.1 | ops/s |
| Median Throughput | autohisto_agg | 45.1 | ops/s |
| Max Throughput | autohisto_agg | 45.1 | ops/s |
| 100th percentile latency | autohisto_agg | 28.1104 | ms |
| 100th percentile service time | autohisto_agg | 5.66798 | ms |
| error rate | autohisto_agg | 0 | % |
| Min Throughput | date_histogram_agg | 87.72 | ops/s |
| Mean Throughput | date_histogram_agg | 87.72 | ops/s |
| Median Throughput | date_histogram_agg | 87.72 | ops/s |
| Max Throughput | date_histogram_agg | 87.72 | ops/s |
| 100th percentile latency | date_histogram_agg | 16.8181 | ms |
| 100th percentile service time | date_histogram_agg | 5.12861 | ms |
| error rate | date_histogram_agg | 0 | % |
--------------------------------
[INFO] SUCCESS (took 29 seconds)
-------------------------------- |
Close this issue since the goad has been achieved. |
A benchmark result using the complete nyc_taxis workload (https://github.com/opensearch-project/opensearch-benchmark-workloads/tree/main/nyc_taxis) Running in an EC2 instance, type opensearch-benchmark compare --baseline=41252cea-6757-4a98-870b-5def0f428a00 --contender=faf47c9a-822c-408a-885c-0cee8a32ffc2
____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
Comparing baseline
TestExecution ID: 41252cea-6757-4a98-870b-5def0f428a00
TestExecution timestamp: 2022-11-10 07:54:46
TestProcedure: append-no-conflicts
ProvisionConfigInstance: 24gheap
with contender
TestExecution ID: faf47c9a-822c-408a-885c-0cee8a32ffc2
TestExecution timestamp: 2022-11-10 09:11:50
TestProcedure: append-no-conflicts
ProvisionConfigInstance: 24gheap
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Baseline | Contender | Diff | Unit |
|--------------------------------------------------------------:|--------------------:|------------:|------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 145.177 | 0 | -145.177 | min |
| Min cumulative indexing time across primary shard | | 145.177 | 0 | -145.177 | min |
| Median cumulative indexing time across primary shard | | 145.177 | 0 | -145.177 | min |
| Max cumulative indexing time across primary shard | | 145.177 | 0 | -145.177 | min |
| Cumulative indexing throttle time of primary shards | | 0 | 0 | 0 | min |
| Min cumulative indexing throttle time across primary shard | | 0 | 0 | 0 | min |
| Median cumulative indexing throttle time across primary shard | | 0 | 0 | 0 | min |
| Max cumulative indexing throttle time across primary shard | | 0 | 0 | 0 | min |
| Cumulative merge time of primary shards | | 42.8124 | 0 | -42.8124 | min |
| Cumulative merge count of primary shards | | 87 | 0 | -87 | |
| Min cumulative merge time across primary shard | | 42.8124 | 0 | -42.8124 | min |
| Median cumulative merge time across primary shard | | 42.8124 | 0 | -42.8124 | min |
| Max cumulative merge time across primary shard | | 42.8124 | 0 | -42.8124 | min |
| Cumulative merge throttle time of primary shards | | 8.04287 | 0 | -8.04287 | min |
| Min cumulative merge throttle time across primary shard | | 8.04287 | 0 | -8.04287 | min |
| Median cumulative merge throttle time across primary shard | | 8.04287 | 0 | -8.04287 | min |
| Max cumulative merge throttle time across primary shard | | 8.04287 | 0 | -8.04287 | min |
| Cumulative refresh time of primary shards | | 2.66532 | 0 | -2.66532 | min |
| Cumulative refresh count of primary shards | | 80 | 0 | -80 | |
| Min cumulative refresh time across primary shard | | 2.66532 | 0 | -2.66532 | min |
| Median cumulative refresh time across primary shard | | 2.66532 | 0 | -2.66532 | min |
| Max cumulative refresh time across primary shard | | 2.66532 | 0 | -2.66532 | min |
| Cumulative flush time of primary shards | | 2.87093 | 0 | -2.87093 | min |
| Cumulative flush count of primary shards | | 34 | 1 | -33 | |
| Min cumulative flush time across primary shard | | 2.87093 | 0 | -2.87093 | min |
| Median cumulative flush time across primary shard | | 2.87093 | 0 | -2.87093 | min |
| Max cumulative flush time across primary shard | | 2.87093 | 0 | -2.87093 | min |
| Total Young Gen GC time | | 14.073 | 15.284 | 1.211 | s |
| Total Young Gen GC count | | 341 | 434 | 93 | |
| Total Old Gen GC time | | 0 | 0 | 0 | s |
| Total Old Gen GC count | | 0 | 0 | 0 | |
| Store size | | 24.5266 | 24.3569 | -0.16969 | GB |
| Translog size | | 5.12227e-08 | 0 | -0 | GB |
| Heap used for segments | | 0 | 0 | 0 | MB |
| Heap used for doc values | | 0 | 0 | 0 | MB |
| Heap used for terms | | 0 | 0 | 0 | MB |
| Heap used for norms | | 0 | 0 | 0 | MB |
| Heap used for points | | 0 | 0 | 0 | MB |
| Heap used for stored fields | | 0 | 0 | 0 | MB |
| Segment count | | 35 | 47 | 12 | |
| Min Throughput | index | 121400 | 123739 | 2338.72 | docs/s |
| Mean Throughput | index | 127229 | 127962 | 732.711 | docs/s |
| Median Throughput | index | 127967 | 128415 | 447.569 | docs/s |
| Max Throughput | index | 129506 | 129559 | 53.2926 | docs/s |
| 50th percentile latency | index | 523.462 | 522.601 | -0.86098 | ms |
| 90th percentile latency | index | 639.903 | 634.403 | -5.5009 | ms |
| 99th percentile latency | index | 2661.57 | 3010.43 | 348.856 | ms |
| 99.9th percentile latency | index | 4973.25 | 5103.78 | 130.523 | ms |
| 99.99th percentile latency | index | 7250.47 | 7909.71 | 659.232 | ms |
| 100th percentile latency | index | 8385.43 | 8704.86 | 319.429 | ms |
| 50th percentile service time | index | 523.462 | 522.601 | -0.86098 | ms |
| 90th percentile service time | index | 639.903 | 634.403 | -5.5009 | ms |
| 99th percentile service time | index | 2661.57 | 3010.43 | 348.856 | ms |
| 99.9th percentile service time | index | 4973.25 | 5103.78 | 130.523 | ms |
| 99.99th percentile service time | index | 7250.47 | 7909.71 | 659.232 | ms |
| 100th percentile service time | index | 8385.43 | 8704.86 | 319.429 | ms |
| error rate | index | 0 | 0 | 0 | % |
| Min Throughput | default | 3.01568 | 2.98715 | -0.02852 | ops/s |
| Mean Throughput | default | 3.02553 | 2.99291 | -0.03262 | ops/s |
| Median Throughput | default | 3.02324 | 2.99357 | -0.02967 | ops/s |
| Max Throughput | default | 3.04509 | 2.99562 | -0.04948 | ops/s |
| 50th percentile latency | default | 5.75124 | 173.7 | 167.949 | ms |
| 90th percentile latency | default | 6.39432 | 207.338 | 200.944 | ms |
| 99th percentile latency | default | 6.96071 | 255.386 | 248.425 | ms |
| 100th percentile latency | default | 8.10929 | 270.333 | 262.223 | ms |
| 50th percentile service time | default | 4.32381 | 171.866 | 167.543 | ms |
| 90th percentile service time | default | 4.97152 | 205.81 | 200.839 | ms |
| 99th percentile service time | default | 5.57359 | 252.939 | 247.366 | ms |
| 100th percentile service time | default | 7.0567 | 269.73 | 262.673 | ms |
| error rate | default | 0 | 0 | 0 | % |
| Min Throughput | range | 0.703405 | 0.00228472 | -0.70112 | ops/s |
| Mean Throughput | range | 0.705601 | 0.00230452 | -0.7033 | ops/s |
| Median Throughput | range | 0.705097 | 0.00229157 | -0.70281 | ops/s |
| Max Throughput | range | 0.710114 | 0.0023502 | -0.70776 | ops/s |
| 50th percentile latency | range | 247.518 | 4.37725e+07 | 4.37722e+07 | ms |
| 90th percentile latency | range | 249.543 | 6.10926e+07 | 6.10924e+07 | ms |
| 99th percentile latency | range | 257.074 | 6.47726e+07 | 6.47723e+07 | ms |
| 100th percentile latency | range | 257.644 | 6.51695e+07 | 6.51693e+07 | ms |
| 50th percentile service time | range | 245.433 | 441809 | 441564 | ms |
| 90th percentile service time | range | 246.996 | 466151 | 465904 | ms |
| 99th percentile service time | range | 254.822 | 485194 | 484940 | ms |
| 100th percentile service time | range | 255.836 | 488356 | 488101 | ms |
| error rate | range | 0 | 0 | 0 | % |
| Min Throughput | distance_amount_agg | 2.01213 | 2.01143 | -0.00071 | ops/s |
| Mean Throughput | distance_amount_agg | 2.01997 | 2.01877 | -0.0012 | ops/s |
| Median Throughput | distance_amount_agg | 2.01815 | 2.01705 | -0.0011 | ops/s |
| Max Throughput | distance_amount_agg | 2.03591 | 2.03369 | -0.00222 | ops/s |
| 50th percentile latency | distance_amount_agg | 4.09597 | 4.70118 | 0.60521 | ms |
| 90th percentile latency | distance_amount_agg | 4.68576 | 5.24222 | 0.55645 | ms |
| 99th percentile latency | distance_amount_agg | 5.26528 | 5.55888 | 0.29359 | ms |
| 100th percentile latency | distance_amount_agg | 5.57506 | 5.67187 | 0.0968 | ms |
| 50th percentile service time | distance_amount_agg | 2.7258 | 3.11669 | 0.39089 | ms |
| 90th percentile service time | distance_amount_agg | 2.98549 | 3.45944 | 0.47394 | ms |
| 99th percentile service time | distance_amount_agg | 3.42588 | 3.68248 | 0.25659 | ms |
| 100th percentile service time | distance_amount_agg | 4.04084 | 3.77821 | -0.26263 | ms |
| error rate | distance_amount_agg | 0 | 0 | 0 | % |
| Min Throughput | autohisto_agg | 1.49882 | 0.00138305 | -1.49743 | ops/s |
| Mean Throughput | autohisto_agg | 1.49933 | 0.00140622 | -1.49793 | ops/s |
| Median Throughput | autohisto_agg | 1.4994 | 0.00140819 | -1.49799 | ops/s |
| Max Throughput | autohisto_agg | 1.4996 | 0.00142313 | -1.49818 | ops/s |
| 50th percentile latency | autohisto_agg | 550.008 | 7.11091e+07 | 7.11085e+07 | ms |
| 90th percentile latency | autohisto_agg | 557.414 | 9.82427e+07 | 9.82422e+07 | ms |
| 99th percentile latency | autohisto_agg | 562.471 | 1.0455e+08 | 1.0455e+08 | ms |
| 100th percentile latency | autohisto_agg | 565.506 | 1.05277e+08 | 1.05276e+08 | ms |
| 50th percentile service time | autohisto_agg | 548.899 | 691756 | 691207 | ms |
| 90th percentile service time | autohisto_agg | 556.13 | 726229 | 725673 | ms |
| 99th percentile service time | autohisto_agg | 561.028 | 751422 | 750861 | ms |
| 100th percentile service time | autohisto_agg | 564.407 | 765487 | 764923 | ms |
| error rate | autohisto_agg | 0 | 0 | 0 | % |
| Min Throughput | date_histogram_agg | 1.50185 | 0.00148547 | -1.50037 | ops/s |
| Mean Throughput | date_histogram_agg | 1.50303 | 0.00149806 | -1.50153 | ops/s |
| Median Throughput | date_histogram_agg | 1.50276 | 0.00149942 | -1.50126 | ops/s |
| Max Throughput | date_histogram_agg | 1.50539 | 0.00150452 | -1.50388 | ops/s |
| 50th percentile latency | date_histogram_agg | 525.286 | 6.68e+07 | 6.67995e+07 | ms |
| 90th percentile latency | date_histogram_agg | 530.071 | 9.33575e+07 | 9.33569e+07 | ms |
| 99th percentile latency | date_histogram_agg | 537.064 | 9.92378e+07 | 9.92372e+07 | ms |
| 100th percentile latency | date_histogram_agg | 539.4 | 9.98723e+07 | 9.98718e+07 | ms |
| 50th percentile service time | date_histogram_agg | 523.732 | 662967 | 662444 | ms |
| 90th percentile service time | date_histogram_agg | 528.677 | 689567 | 689038 | ms |
| 99th percentile service time | date_histogram_agg | 534.724 | 700547 | 700012 | ms |
| 100th percentile service time | date_histogram_agg | 537.719 | 714373 | 713836 | ms |
| error rate | date_histogram_agg | 0 | 0 | 0 | % | The below is the separate result for the two executions. opensearch-benchmark execute_test --workload=nyc_taxis --pipeline=from-sources --revision="opensearch:2.4" --provision-config-instance="24gheap"
____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
[INFO] Preparing for test execution ...
[INFO] Executing test with workload [nyc_taxis], test_procedure [append-no-conflicts] and provision_config_instance ['24gheap'] with version [2.4.0-SNAPSHOT].
Running delete-index [100% done]
Running create-index [100% done]
Running check-cluster-health [100% done]
Running index [100% done]
Running refresh-after-index [100% done]
Running force-merge [100% done]
Running refresh-after-force-merge [100% done]
Running wait-until-merges-finish [100% done]
Running default [100% done]
Running range [100% done]
Running distance_amount_agg [100% done]
Running autohisto_agg [100% done]
Running date_histogram_agg [100% done]
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 145.177 | min |
| Min cumulative indexing time across primary shards | | 145.177 | min |
| Median cumulative indexing time across primary shards | | 145.177 | min |
| Max cumulative indexing time across primary shards | | 145.177 | 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 | | 42.8124 | min |
| Cumulative merge count of primary shards | | 87 | |
| Min cumulative merge time across primary shards | | 42.8124 | min |
| Median cumulative merge time across primary shards | | 42.8124 | min |
| Max cumulative merge time across primary shards | | 42.8124 | min |
| Cumulative merge throttle time of primary shards | | 8.04287 | min |
| Min cumulative merge throttle time across primary shards | | 8.04287 | min |
| Median cumulative merge throttle time across primary shards | | 8.04287 | min |
| Max cumulative merge throttle time across primary shards | | 8.04287 | min |
| Cumulative refresh time of primary shards | | 2.66532 | min |
| Cumulative refresh count of primary shards | | 80 | |
| Min cumulative refresh time across primary shards | | 2.66532 | min |
| Median cumulative refresh time across primary shards | | 2.66532 | min |
| Max cumulative refresh time across primary shards | | 2.66532 | min |
| Cumulative flush time of primary shards | | 2.87093 | min |
| Cumulative flush count of primary shards | | 34 | |
| Min cumulative flush time across primary shards | | 2.87093 | min |
| Median cumulative flush time across primary shards | | 2.87093 | min |
| Max cumulative flush time across primary shards | | 2.87093 | min |
| Total Young Gen GC time | | 14.073 | s |
| Total Young Gen GC count | | 341 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 24.5266 | GB |
| Translog size | | 5.12227e-08 | 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 | | 35 | |
| Min Throughput | index | 121400 | docs/s |
| Mean Throughput | index | 127229 | docs/s |
| Median Throughput | index | 127967 | docs/s |
| Max Throughput | index | 129506 | docs/s |
| 50th percentile latency | index | 523.462 | ms |
| 90th percentile latency | index | 639.903 | ms |
| 99th percentile latency | index | 2661.57 | ms |
| 99.9th percentile latency | index | 4973.25 | ms |
| 99.99th percentile latency | index | 7250.47 | ms |
| 100th percentile latency | index | 8385.43 | ms |
| 50th percentile service time | index | 523.462 | ms |
| 90th percentile service time | index | 639.903 | ms |
| 99th percentile service time | index | 2661.57 | ms |
| 99.9th percentile service time | index | 4973.25 | ms |
| 99.99th percentile service time | index | 7250.47 | ms |
| 100th percentile service time | index | 8385.43 | ms |
| error rate | index | 0 | % |
| Min Throughput | wait-until-merges-finish | 0.01 | ops/s |
| Mean Throughput | wait-until-merges-finish | 0.01 | ops/s |
| Median Throughput | wait-until-merges-finish | 0.01 | ops/s |
| Max Throughput | wait-until-merges-finish | 0.01 | ops/s |
| 100th percentile latency | wait-until-merges-finish | 89637.6 | ms |
| 100th percentile service time | wait-until-merges-finish | 89637.6 | ms |
| error rate | wait-until-merges-finish | 0 | % |
| Min Throughput | default | 3.02 | ops/s |
| Mean Throughput | default | 3.03 | ops/s |
| Median Throughput | default | 3.02 | ops/s |
| Max Throughput | default | 3.05 | ops/s |
| 50th percentile latency | default | 5.75124 | ms |
| 90th percentile latency | default | 6.39432 | ms |
| 99th percentile latency | default | 6.96071 | ms |
| 100th percentile latency | default | 8.10929 | ms |
| 50th percentile service time | default | 4.32381 | ms |
| 90th percentile service time | default | 4.97152 | ms |
| 99th percentile service time | default | 5.57359 | ms |
| 100th percentile service time | default | 7.0567 | ms |
| error rate | default | 0 | % |
| Min Throughput | range | 0.7 | ops/s |
| Mean Throughput | range | 0.71 | ops/s |
| Median Throughput | range | 0.71 | ops/s |
| Max Throughput | range | 0.71 | ops/s |
| 50th percentile latency | range | 247.518 | ms |
| 90th percentile latency | range | 249.543 | ms |
| 99th percentile latency | range | 257.074 | ms |
| 100th percentile latency | range | 257.644 | ms |
| 50th percentile service time | range | 245.433 | ms |
| 90th percentile service time | range | 246.996 | ms |
| 99th percentile service time | range | 254.822 | ms |
| 100th percentile service time | range | 255.836 | ms |
| error rate | range | 0 | % |
| Min Throughput | distance_amount_agg | 2.01 | ops/s |
| Mean Throughput | distance_amount_agg | 2.02 | ops/s |
| Median Throughput | distance_amount_agg | 2.02 | ops/s |
| Max Throughput | distance_amount_agg | 2.04 | ops/s |
| 50th percentile latency | distance_amount_agg | 4.09597 | ms |
| 90th percentile latency | distance_amount_agg | 4.68576 | ms |
| 99th percentile latency | distance_amount_agg | 5.26528 | ms |
| 100th percentile latency | distance_amount_agg | 5.57506 | ms |
| 50th percentile service time | distance_amount_agg | 2.7258 | ms |
| 90th percentile service time | distance_amount_agg | 2.98549 | ms |
| 99th percentile service time | distance_amount_agg | 3.42588 | ms |
| 100th percentile service time | distance_amount_agg | 4.04084 | ms |
| error rate | distance_amount_agg | 0 | % |
| Min Throughput | autohisto_agg | 1.5 | ops/s |
| Mean Throughput | autohisto_agg | 1.5 | ops/s |
| Median Throughput | autohisto_agg | 1.5 | ops/s |
| Max Throughput | autohisto_agg | 1.5 | ops/s |
| 50th percentile latency | autohisto_agg | 550.008 | ms |
| 90th percentile latency | autohisto_agg | 557.414 | ms |
| 99th percentile latency | autohisto_agg | 562.471 | ms |
| 100th percentile latency | autohisto_agg | 565.506 | ms |
| 50th percentile service time | autohisto_agg | 548.899 | ms |
| 90th percentile service time | autohisto_agg | 556.13 | ms |
| 99th percentile service time | autohisto_agg | 561.028 | ms |
| 100th percentile service time | autohisto_agg | 564.407 | ms |
| error rate | autohisto_agg | 0 | % |
| Min Throughput | date_histogram_agg | 1.5 | ops/s |
| Mean Throughput | date_histogram_agg | 1.5 | ops/s |
| Median Throughput | date_histogram_agg | 1.5 | ops/s |
| Max Throughput | date_histogram_agg | 1.51 | ops/s |
| 50th percentile latency | date_histogram_agg | 525.286 | ms |
| 90th percentile latency | date_histogram_agg | 530.071 | ms |
| 99th percentile latency | date_histogram_agg | 537.064 | ms |
| 100th percentile latency | date_histogram_agg | 539.4 | ms |
| 50th percentile service time | date_histogram_agg | 523.732 | ms |
| 90th percentile service time | date_histogram_agg | 528.677 | ms |
| 99th percentile service time | date_histogram_agg | 534.724 | ms |
| 100th percentile service time | date_histogram_agg | 537.719 | ms |
| error rate | date_histogram_agg | 0 | % |
----------------------------------
[INFO] SUCCESS (took 2004 seconds)
---------------------------------- The below is the workload with Searchable Snapshot feature: opensearch-benchmark execute_test --workload-path=~/benchmark-workload/searchable-snapshot/nyc_taxis --pipeline=from-sources --revision=2.4 --kill-running-processes --provision-config-instance="24gheap" --provision-config-instance-params="~/benchmark-workload/searchable-snapshot/provision_config_instance_params.json" --opensearch-plugins="repository-s3" --plugin-params="~/benchmark-workload/searchable-snapshot/plugin_params.json" --workload-params="~/benchmark-workload/searchable-snapshot/workload_params.json" --exclude-tasks="type:force-merge,wait-until-merges-finish" --client-options="{\"default\":{\"timeout\": 1200}}"
____ _____ __ ____ __ __
/ __ \____ ___ ____ / ___/___ ____ ___________/ /_ / __ )___ ____ _____/ /_ ____ ___ ____ ______/ /__
/ / / / __ \/ _ \/ __ \\__ \/ _ \/ __ `/ ___/ ___/ __ \ / __ / _ \/ __ \/ ___/ __ \/ __ `__ \/ __ `/ ___/ //_/
/ /_/ / /_/ / __/ / / /__/ / __/ /_/ / / / /__/ / / / / /_/ / __/ / / / /__/ / / / / / / / / /_/ / / / ,<
\____/ .___/\___/_/ /_/____/\___/\__,_/_/ \___/_/ /_/ /_____/\___/_/ /_/\___/_/ /_/_/ /_/ /_/\__,_/_/ /_/|_|
/_/
[INFO] Preparing for test execution ...
[INFO] Executing test with workload [nyc_taxis], test_procedure [append-no-conflicts] and provision_config_instance ['24gheap'] with version [2.4.0-SNAPSHOT].
Running delete-index [100% done]
Running create-index [100% done]
Running check-cluster-health [100% done]
Running index [100% done]
Running refresh-after-index [100% done]
Running refresh-after-force-merge [100% done]
Running create-snapshot-repository [100% done]
Running create-snapshot [100% done]
Running wait-for-snapshot-create [100% done]
Running delete-local-index-to-create-from-snapshot [100% done]
Running restore-snapshot [100% done]
Running default [100% done]
Running range [100% done]
Running distance_amount_agg [100% done]
Running autohisto_agg [100% done]
Running date_histogram_agg [100% done]
------------------------------------------------------
_______ __ _____
/ ____(_)___ ____ _/ / / ___/_________ ________
/ /_ / / __ \/ __ `/ / \__ \/ ___/ __ \/ ___/ _ \
/ __/ / / / / / /_/ / / ___/ / /__/ /_/ / / / __/
/_/ /_/_/ /_/\__,_/_/ /____/\___/\____/_/ \___/
------------------------------------------------------
| Metric | Task | Value | Unit |
|---------------------------------------------------------------:|-------------------------:|------------:|-------:|
| Cumulative indexing time of primary shards | | 0 | min |
| Min cumulative indexing time across primary shards | | 0 | min |
| Median cumulative indexing time across primary shards | | 0 | min |
| Max cumulative indexing time across primary shards | | 0 | 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 | min |
| Cumulative refresh count of primary shards | | 0 | |
| Min cumulative refresh time across primary shards | | 0 | min |
| Median cumulative refresh time across primary shards | | 0 | min |
| Max cumulative refresh time across primary shards | | 0 | min |
| Cumulative flush time of primary shards | | 0 | min |
| Cumulative flush count of primary shards | | 1 | |
| 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 | min |
| Total Young Gen GC time | | 15.284 | s |
| Total Young Gen GC count | | 434 | |
| Total Old Gen GC time | | 0 | s |
| Total Old Gen GC count | | 0 | |
| Store size | | 24.3569 | GB |
| Translog size | | 0 | 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 | | 47 | |
| Min Throughput | index | 123739 | docs/s |
| Mean Throughput | index | 127962 | docs/s |
| Median Throughput | index | 128415 | docs/s |
| Max Throughput | index | 129559 | docs/s |
| 50th percentile latency | index | 522.601 | ms |
| 90th percentile latency | index | 634.403 | ms |
| 99th percentile latency | index | 3010.43 | ms |
| 99.9th percentile latency | index | 5103.78 | ms |
| 99.99th percentile latency | index | 7909.71 | ms |
| 100th percentile latency | index | 8704.86 | ms |
| 50th percentile service time | index | 522.601 | ms |
| 90th percentile service time | index | 634.403 | ms |
| 99th percentile service time | index | 3010.43 | ms |
| 99.9th percentile service time | index | 5103.78 | ms |
| 99.99th percentile service time | index | 7909.71 | ms |
| 100th percentile service time | index | 8704.86 | ms |
| error rate | index | 0 | % |
| Min Throughput | wait-for-snapshot-create | 4.18309e+07 | byte/s |
| Mean Throughput | wait-for-snapshot-create | 4.18309e+07 | byte/s |
| Median Throughput | wait-for-snapshot-create | 4.18309e+07 | byte/s |
| Max Throughput | wait-for-snapshot-create | 4.18309e+07 | byte/s |
| 100th percentile latency | wait-for-snapshot-create | 619979 | ms |
| 100th percentile service time | wait-for-snapshot-create | 619979 | ms |
| error rate | wait-for-snapshot-create | 0 | % |
| Min Throughput | default | 2.99 | ops/s |
| Mean Throughput | default | 2.99 | ops/s |
| Median Throughput | default | 2.99 | ops/s |
| Max Throughput | default | 3 | ops/s |
| 50th percentile latency | default | 173.7 | ms |
| 90th percentile latency | default | 207.338 | ms |
| 99th percentile latency | default | 255.386 | ms |
| 100th percentile latency | default | 270.333 | ms |
| 50th percentile service time | default | 171.866 | ms |
| 90th percentile service time | default | 205.81 | ms |
| 99th percentile service time | default | 252.939 | ms |
| 100th percentile service time | default | 269.73 | ms |
| error rate | default | 0 | % |
| Min Throughput | range | 0 | ops/s |
| Mean Throughput | range | 0 | ops/s |
| Median Throughput | range | 0 | ops/s |
| Max Throughput | range | 0 | ops/s |
| 50th percentile latency | range | 4.37725e+07 | ms |
| 90th percentile latency | range | 6.10926e+07 | ms |
| 99th percentile latency | range | 6.47726e+07 | ms |
| 100th percentile latency | range | 6.51695e+07 | ms |
| 50th percentile service time | range | 441809 | ms |
| 90th percentile service time | range | 466151 | ms |
| 99th percentile service time | range | 485194 | ms |
| 100th percentile service time | range | 488356 | ms |
| error rate | range | 0 | % |
| Min Throughput | distance_amount_agg | 2.01 | ops/s |
| Mean Throughput | distance_amount_agg | 2.02 | ops/s |
| Median Throughput | distance_amount_agg | 2.02 | ops/s |
| Max Throughput | distance_amount_agg | 2.03 | ops/s |
| 50th percentile latency | distance_amount_agg | 4.70118 | ms |
| 90th percentile latency | distance_amount_agg | 5.24222 | ms |
| 99th percentile latency | distance_amount_agg | 5.55888 | ms |
| 100th percentile latency | distance_amount_agg | 5.67187 | ms |
| 50th percentile service time | distance_amount_agg | 3.11669 | ms |
| 90th percentile service time | distance_amount_agg | 3.45944 | ms |
| 99th percentile service time | distance_amount_agg | 3.68248 | ms |
| 100th percentile service time | distance_amount_agg | 3.77821 | ms |
| error rate | distance_amount_agg | 0 | % |
| Min Throughput | autohisto_agg | 0 | ops/s |
| Mean Throughput | autohisto_agg | 0 | ops/s |
| Median Throughput | autohisto_agg | 0 | ops/s |
| Max Throughput | autohisto_agg | 0 | ops/s |
| 50th percentile latency | autohisto_agg | 7.11091e+07 | ms |
| 90th percentile latency | autohisto_agg | 9.82427e+07 | ms |
| 99th percentile latency | autohisto_agg | 1.0455e+08 | ms |
| 100th percentile latency | autohisto_agg | 1.05277e+08 | ms |
| 50th percentile service time | autohisto_agg | 691756 | ms |
| 90th percentile service time | autohisto_agg | 726229 | ms |
| 99th percentile service time | autohisto_agg | 751422 | ms |
| 100th percentile service time | autohisto_agg | 765487 | ms |
| error rate | autohisto_agg | 0 | % |
| Min Throughput | date_histogram_agg | 0 | ops/s |
| Mean Throughput | date_histogram_agg | 0 | ops/s |
| Median Throughput | date_histogram_agg | 0 | ops/s |
| Max Throughput | date_histogram_agg | 0 | ops/s |
| 50th percentile latency | date_histogram_agg | 6.68e+07 | ms |
| 90th percentile latency | date_histogram_agg | 9.33575e+07 | ms |
| 99th percentile latency | date_histogram_agg | 9.92378e+07 | ms |
| 100th percentile latency | date_histogram_agg | 9.98723e+07 | ms |
| 50th percentile service time | date_histogram_agg | 662967 | ms |
| 90th percentile service time | date_histogram_agg | 689567 | ms |
| 99th percentile service time | date_histogram_agg | 700547 | ms |
| 100th percentile service time | date_histogram_agg | 714373 | ms |
| error rate | date_histogram_agg | 0 | % |
------------------------------------
[INFO] SUCCESS (took 272942 seconds)
------------------------------------
|
Ran the benchmark again after the cache mechanism is added by commit eb78246. The contender is a modified workload using searchable snapshot feature, with an index backed with remote snapshot. See the PR opensearch-project/opensearch-benchmark-workloads#58 for detail. Running in an EC2 instance, type c5.18xlarge, Ubuntu 20.04 .
The below result is running the workload in "test mode"
Ran the test with searchable snapshots feature again, which is the new contender, and the baseline is the same as above.
|
The goal of this task is to get some update the benchmark tooling and get some initial benchmarks of the searchable snapshot feature. I believe many of the opensearch-benchmark workloads involve discrete phases like: create index->index documents->run query load. Ideally we can augment/extend some of these workloads for searchable snapshots where it would be: create index->index documents->take snapshot->delete local index->create searchable snapshot index->run query load. We could then get a good performance comparison between local disk versus remote searchable snapshot storage for a given workload.
The goal of this task is to get initial numbers for searchable snapshots (which will be bad until performance optimizations are completed) as well as create a plan for adding first class support for testing searchable snapshot workloads to opensearch-benchmark.
The text was updated successfully, but these errors were encountered: