From e4fdffc6d21366312da661f724bf2e718300c0d3 Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 18 Nov 2022 13:48:47 +0000 Subject: [PATCH 1/6] Enforcing keyspace length check and checking for datasets within scc --- pyproject.toml | 2 +- .../__self_contained_coordinator__/runners.py | 35 +++++++++++++++++++ .../icc-2021.3.0-amd64-ubuntu18.04-libc.yml | 21 ----------- 3 files changed, 36 insertions(+), 22 deletions(-) delete mode 100644 redis_benchmarks_specification/setups/builders/icc-2021.3.0-amd64-ubuntu18.04-libc.yml diff --git a/pyproject.toml b/pyproject.toml index 0bd0a518..24662321 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "redis-benchmarks-specification" -version = "0.1.59" +version = "0.1.60" description = "The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute." authors = ["filipecosta90 ","Redis Performance Group "] readme = "Readme.md" diff --git a/redis_benchmarks_specification/__self_contained_coordinator__/runners.py b/redis_benchmarks_specification/__self_contained_coordinator__/runners.py index a6bab68b..42085287 100644 --- a/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +++ b/redis_benchmarks_specification/__self_contained_coordinator__/runners.py @@ -8,6 +8,13 @@ import redis from redisbench_admin.environments.oss_cluster import generate_cluster_redis_server_args + +from redisbench_admin.utils.local import check_dataset_local_requirements + +from redisbench_admin.run.common import ( + dbconfig_keyspacelen_check, +) + from redisbench_admin.profilers.profilers_local import ( local_profilers_platform_checks, profilers_start_if_required, @@ -211,6 +218,23 @@ def process_self_contained_coordinator_stream( restore_build_artifacts_from_test_details( build_artifacts, conn, temporary_dir, testDetails ) + + logging.info("Checking if there is a dataset requirement") + ( + dataset, + dataset_name, + _, + _, + ) = check_dataset_local_requirements( + benchmark_config, + temporary_dir, + None, + "./datasets", + "dbconfig", + shard_count, + False, + ) + dso = "redis-server" profilers_artifacts_matrix = [] @@ -285,6 +309,9 @@ def process_self_contained_coordinator_stream( client_mnt_point = "/mnt/client/" benchmark_tool_workdir = client_mnt_point + logging.info( + "Checking if there is a data preload_tool requirement" + ) if "preload_tool" in benchmark_config["dbconfig"]: data_prepopulation_step( benchmark_config, @@ -297,6 +324,14 @@ def process_self_contained_coordinator_stream( test_name, ) + logging.info( + "Checking if there is a keyspace check being enforced" + ) + dbconfig_keyspacelen_check( + benchmark_config, + [r], + ) + benchmark_tool = extract_client_tool(benchmark_config) # backwards compatible if benchmark_tool is None: diff --git a/redis_benchmarks_specification/setups/builders/icc-2021.3.0-amd64-ubuntu18.04-libc.yml b/redis_benchmarks_specification/setups/builders/icc-2021.3.0-amd64-ubuntu18.04-libc.yml deleted file mode 100644 index ce4bd2ea..00000000 --- a/redis_benchmarks_specification/setups/builders/icc-2021.3.0-amd64-ubuntu18.04-libc.yml +++ /dev/null @@ -1,21 +0,0 @@ -version: 0.1 -id: icc-2021.3.0-amd64-ubuntu18.04-libc -os: ubuntu18.04 -arch: amd64 -compiler: "icc" -cpp_compiler: "icc" -kind: docker -build_image: intel/oneapi-hpckit:2021.3-devel-ubuntu18.04 -run_image: debian:buster -description: "Using IntelĀ® oneAPI Containers (https://github.com/intel/oneapi-containers) - pre-configured environment with all the tools required to build with Intel related products - and targeting IntelĀ® environments and their instruction set extensions." -metadata: - compiler: "icc" - compiler_version: "2021.3.0 20210609" - os: ubuntu18.04 - arch: amd64 - -env: - MALLOC: "libc" - REDIS_CFLAGS: "-g -fno-omit-frame-pointer" From 96fd9f5da801e9bd4554ab0a341c1a2686e5f7ec Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 18 Nov 2022 16:22:24 +0000 Subject: [PATCH 2/6] Fixed flake8 related issues after additions --- .../__builder__/builder.py | 26 ++++++++++++------ .../__self_contained_coordinator__/runners.py | 2 +- utils/tests/test_builder.py | 13 +++++++++ utils/tests/test_data/dump.rdb | Bin 161 -> 161 bytes 4 files changed, 32 insertions(+), 9 deletions(-) diff --git a/redis_benchmarks_specification/__builder__/builder.py b/redis_benchmarks_specification/__builder__/builder.py index a619d794..e7e8d900 100644 --- a/redis_benchmarks_specification/__builder__/builder.py +++ b/redis_benchmarks_specification/__builder__/builder.py @@ -201,16 +201,9 @@ def builder_process_stream( ) ) buffer = conn.get(binary_zip_key) - git_branch = None - git_version = None - if b"git_branch" in testDetails: - git_branch = testDetails[b"git_branch"] - if b"ref_label" in testDetails: - git_branch = testDetails[b"ref_label"] - if b"git_version" in testDetails: - git_version = testDetails[b"git_version"] git_timestamp_ms = None use_git_timestamp = False + git_branch, git_version = get_branch_version_from_test_details(testDetails) if b"use_git_timestamp" in testDetails: use_git_timestamp = bool(testDetails[b"use_git_timestamp"]) if b"git_timestamp_ms" in testDetails: @@ -374,6 +367,23 @@ def builder_process_stream( return previous_id, new_builds_count +def get_branch_version_from_test_details(testDetails): + git_branch = None + git_version = None + if b"git_branch" in testDetails: + git_branch = testDetails[b"git_branch"] + if b"ref_label" in testDetails: + git_branch = testDetails[b"ref_label"] + if b"git_version" in testDetails: + git_version = testDetails[b"git_version"] + if git_branch is not None: + # remove event prefix + if git_branch.startswith("/refs/heads/"): + git_branch = git_branch.replace("/refs/heads/", "") + + return git_branch, git_version + + def build_spec_image_prefetch(builders_folder, different_build_specs): logging.info("checking build spec requirements") already_checked_images = [] diff --git a/redis_benchmarks_specification/__self_contained_coordinator__/runners.py b/redis_benchmarks_specification/__self_contained_coordinator__/runners.py index 42085287..aa211b2b 100644 --- a/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +++ b/redis_benchmarks_specification/__self_contained_coordinator__/runners.py @@ -231,7 +231,7 @@ def process_self_contained_coordinator_stream( None, "./datasets", "dbconfig", - shard_count, + 1, False, ) diff --git a/utils/tests/test_builder.py b/utils/tests/test_builder.py index 9f302556..687efe08 100644 --- a/utils/tests/test_builder.py +++ b/utils/tests/test_builder.py @@ -14,6 +14,7 @@ builder_consumer_group_create, builder_process_stream, build_spec_image_prefetch, + get_branch_version_from_test_details, ) from redis_benchmarks_specification.__common__.env import ( STREAM_KEYNAME_GH_EVENTS_COMMIT, @@ -115,3 +116,15 @@ def test_commit_schema_to_stream_then_build_historical_redis(): except redis.exceptions.ConnectionError: pass + + +def test_get_branch_version_from_test_details(): + testDetails = {b"ref_label": "/refs/heads/unstable"} + git_branch, _ = get_branch_version_from_test_details(testDetails) + assert git_branch == "unstable" + testDetails = {b"ref_label": "unstable"} + git_branch, _ = get_branch_version_from_test_details(testDetails) + assert git_branch == "unstable" + testDetails = {b"git_version": "555.555.555"} + _, git_version = get_branch_version_from_test_details(testDetails) + assert git_version == "555.555.555" diff --git a/utils/tests/test_data/dump.rdb b/utils/tests/test_data/dump.rdb index f7e795fb04a41577d211329378b97a24552b8c7c..d9369b1f53434c450c1ecb11a0a791d06041ea8b 100644 GIT binary patch delta 72 zcmZ3;xR7yzf!wJH<;lM|N{drdbaPX45B)eO#_)?HF+WW=DX}>9z{D)+iBU2#OiT<6 b-y1g`&pkDL%LPUz5cj{@Kd~siqpFJlEY%#E delta 72 zcmZ3;xR7yzf!zIn#mT=oN{drdbaPX44>8=8V)(_8n4hMblvtd4U}CJs#3+6lCME`k b?~P5{R<>SSo58~b;{GoZZ5ESb@{<7o6N4He From b462f654e9368c48404e821df0c86ce5677ab35d Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 18 Nov 2022 16:38:09 +0000 Subject: [PATCH 3/6] Kickoff GEO commands benchmark tracking --- ...-geo-60M-elements-geosearch-fromlonlat.yml | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml new file mode 100644 index 00000000..721351ed --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEOSEARCH command that replies with a very large (~100K ) number of elements. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEOSEARCH +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '-c 2 -t 2 --command="GEOSEARCH key FROMLONLAT 7.0 55.0 BYRADIUS 200 KM" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' From ab05f56d4374a664d2ef154d7982788b538596e3 Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 18 Nov 2022 21:33:17 +0000 Subject: [PATCH 4/6] Added geodist geohash and geopos benchmarks --- ...enchmark-1key-geo-60M-elements-geodist.yml | 39 +++++++++++++++++++ ...enchmark-1key-geo-60M-elements-geohash.yml | 39 +++++++++++++++++++ ...benchmark-1key-geo-60M-elements-geopos.yml | 39 +++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml new file mode 100644 index 00000000..2b554811 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geodist" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEODIST command between 2 elements. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEODIST +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '-c 2 -t 2 --command="GEODIST key 1 2" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml new file mode 100644 index 00000000..c2c398c6 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geohash" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEOHASH command. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEOHASH +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '-c 2 -t 2 --command="GEOHASH key 1" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml new file mode 100644 index 00000000..2d57795e --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geopos" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEOPOS command. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEOPOS +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '-c 2 -t 2 --command="GEOPOS key 1" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' From 823a4c7ff26a12b3fba128a97e3f8763cff8343a Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 18 Nov 2022 21:54:05 +0000 Subject: [PATCH 5/6] reusing get_branch_version_from_test_details across builder and scc --- .../__builder__/builder.py | 20 +++-------------- .../__common__/builder_schema.py | 22 +++++++++++++++++++ .../build_info.py | 15 +++++-------- utils/tests/test_builder.py | 2 +- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/redis_benchmarks_specification/__builder__/builder.py b/redis_benchmarks_specification/__builder__/builder.py index e7e8d900..67f342a5 100644 --- a/redis_benchmarks_specification/__builder__/builder.py +++ b/redis_benchmarks_specification/__builder__/builder.py @@ -13,6 +13,9 @@ get_build_config, get_build_config_metadata, ) +from redis_benchmarks_specification.__common__.builder_schema import ( + get_branch_version_from_test_details, +) from redis_benchmarks_specification.__common__.env import ( STREAM_KEYNAME_GH_EVENTS_COMMIT, GH_REDIS_SERVER_HOST, @@ -367,23 +370,6 @@ def builder_process_stream( return previous_id, new_builds_count -def get_branch_version_from_test_details(testDetails): - git_branch = None - git_version = None - if b"git_branch" in testDetails: - git_branch = testDetails[b"git_branch"] - if b"ref_label" in testDetails: - git_branch = testDetails[b"ref_label"] - if b"git_version" in testDetails: - git_version = testDetails[b"git_version"] - if git_branch is not None: - # remove event prefix - if git_branch.startswith("/refs/heads/"): - git_branch = git_branch.replace("/refs/heads/", "") - - return git_branch, git_version - - def build_spec_image_prefetch(builders_folder, different_build_specs): logging.info("checking build spec requirements") already_checked_images = [] diff --git a/redis_benchmarks_specification/__common__/builder_schema.py b/redis_benchmarks_specification/__common__/builder_schema.py index 1ebd55f7..136ccae0 100644 --- a/redis_benchmarks_specification/__common__/builder_schema.py +++ b/redis_benchmarks_specification/__common__/builder_schema.py @@ -146,3 +146,25 @@ def request_build_from_commit_info( id = conn.xadd(STREAM_KEYNAME_GH_EVENTS_COMMIT.encode(), fields) reply_fields["id"] = id return result, reply_fields, error_msg + + +def get_branch_version_from_test_details(testDetails): + git_branch = None + git_version = None + if b"git_branch" in testDetails: + git_branch = testDetails[b"git_branch"] + if b"ref_label" in testDetails: + git_branch = testDetails[b"ref_label"] + if b"git_version" in testDetails: + git_version = testDetails[b"git_version"] + if git_branch is not None: + # remove event prefix + if type(git_branch) == bytes: + git_branch = git_branch.decode() + if git_branch.startswith("/refs/heads/"): + git_branch = git_branch.replace("/refs/heads/", "") + if git_version is not None: + if type(git_version) == bytes: + git_version = git_version.decode() + + return git_branch, git_version diff --git a/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py b/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py index d77f1502..721363b8 100644 --- a/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +++ b/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py @@ -1,12 +1,14 @@ import json import logging +from redis_benchmarks_specification.__common__.builder_schema import ( + get_branch_version_from_test_details, +) + def extract_build_info_from_streamdata(testDetails): use_git_timestamp = False git_timestamp_ms = None - git_version = None - git_branch = None metadata = None build_variant_name = None fields = [fieldname.decode() for fieldname in testDetails.keys()] @@ -20,14 +22,7 @@ def extract_build_info_from_streamdata(testDetails): build_variant_name = testDetails[b"id"] if type(build_variant_name) == bytes: build_variant_name = build_variant_name.decode() - if b"git_branch" in testDetails: - git_branch = testDetails[b"git_branch"] - if type(git_branch) == bytes: - git_branch = git_branch.decode() - if b"git_version" in testDetails: - git_version = testDetails[b"git_version"] - if type(git_version) == bytes: - git_version = git_version.decode() + git_branch, git_version = get_branch_version_from_test_details(testDetails) if type(git_hash) == bytes: git_hash = git_hash.decode() logging.info("Received commit hash specifier {}.".format(git_hash)) diff --git a/utils/tests/test_builder.py b/utils/tests/test_builder.py index 687efe08..91d33260 100644 --- a/utils/tests/test_builder.py +++ b/utils/tests/test_builder.py @@ -7,6 +7,7 @@ from redis_benchmarks_specification.__common__.builder_schema import ( commit_schema_to_stream, + get_branch_version_from_test_details, ) import redis @@ -14,7 +15,6 @@ builder_consumer_group_create, builder_process_stream, build_spec_image_prefetch, - get_branch_version_from_test_details, ) from redis_benchmarks_specification.__common__.env import ( STREAM_KEYNAME_GH_EVENTS_COMMIT, From 27ba425dd83e30fcd9c056b0ebcf064d65a60921 Mon Sep 17 00:00:00 2001 From: filipecosta90 Date: Fri, 18 Nov 2022 22:54:40 +0000 Subject: [PATCH 6/6] geodist geohash geopos geosearch pipeline 10 variants --- ...y-geo-60M-elements-geodist-pipeline-10.yml | 39 +++++++++++++++++++ ...y-geo-60M-elements-geohash-pipeline-10.yml | 39 +++++++++++++++++++ ...ey-geo-60M-elements-geopos-pipeline-10.yml | 39 +++++++++++++++++++ ...ments-geosearch-fromlonlat-pipeline-10.yml | 39 +++++++++++++++++++ 4 files changed, 156 insertions(+) create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml new file mode 100644 index 00000000..0e24923d --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEODIST command between 2 elements. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEODIST +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--pipeline 10 -c 2 -t 2 --command="GEODIST key 1 2" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml new file mode 100644 index 00000000..db3df51e --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEOHASH command. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEOHASH +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--pipeline 10 -c 2 -t 2 --command="GEOHASH key 1" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml new file mode 100644 index 00000000..028d285e --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEOPOS command. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEOPOS +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--pipeline 10 -c 2 -t 2 --command="GEOPOS key 1" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"' diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml new file mode 100644 index 00000000..695a3947 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml @@ -0,0 +1,39 @@ +version: 0.4 +name: "memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10" +description: "Runs memtier_benchmark, for a keyspace length of 1 GEO key. + The GEO key contains 60841557 elements in it and we query it using GEOSEARCH command that replies with a very large (~100K ) number of elements. + " +dbconfig: + - configuration-parameters: + - save: '""' + - dataset: "https://s3.us-east-2.amazonaws.com/redis.benchmarks.spec/datasets/geopoint/dump.rdb" + +tested-groups: + - geo +tested-commands: + - GEOSEARCH +redis-topologies: + - oss-standalone + +build-variants: + - gcc:8.5.0-amd64-debian-buster-default + +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--pipeline 10 -c 2 -t 2 --command="GEOSEARCH key FROMLONLAT 7.0 55.0 BYRADIUS 200 KM" --hide-histogram --test-time 180' + resources: + requests: + cpus: "4" + memory: "2g" +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: '$."ALL STATS".Runtime."Start time"' + metrics: + - '$."ALL STATS".Totals."Ops/sec"' + - '$."ALL STATS".Totals."Latency"' + - '$."ALL STATS".Totals."Misses/sec"' + - '$."ALL STATS".Totals."Percentile Latencies"."p50.00"'