Skip to content

Commit 7ed0320

Browse files
Merge remote-tracking branch 'origin/main' into clean-topology-filter
2 parents e734110 + a0a7e90 commit 7ed0320

13 files changed

+172
-47
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "redis-benchmarks-specification"
3-
version = "0.1.260"
3+
version = "0.1.263"
44
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."
55
authors = ["filipecosta90 <[email protected]>","Redis Performance Group <[email protected]>"]
66
readme = "Readme.md"

redis_benchmarks_specification/__cli__/stats.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,8 @@ def generate_stats_cli_command_logic(args, project_name, project_version):
108108
benchmark_config = {}
109109
requires_override = False
110110
test_result = True
111+
tested_groups_match_origin = True
112+
111113
with open(test_file, "r") as stream:
112114

113115
try:
@@ -291,7 +293,7 @@ def generate_stats_cli_command_logic(args, project_name, project_version):
291293
)
292294

293295
if tested_groups != origin_tested_groups:
294-
requires_override = True
296+
tested_groups_match_origin = False
295297
benchmark_config["tested-groups"] = tested_groups
296298
logging.warn(
297299
"there is a difference between specified test-groups in the yaml (name={}) and the ones we've detected {}!={}".format(
@@ -312,7 +314,15 @@ def generate_stats_cli_command_logic(args, project_name, project_version):
312314
test_result = False
313315
overall_result &= test_result
314316

315-
if requires_override and override_enabled:
317+
if not tested_groups_match_origin:
318+
if len(tested_groups) > 0:
319+
overall_result = False
320+
else:
321+
logging.warn(
322+
"difference between specified and detected test-groups was ignored since command info is not available in this benchmark version"
323+
)
324+
325+
if (requires_override or not tested_groups_match_origin) and override_enabled:
316326
logging.info(
317327
"Saving a new version of the file {} with the overrided data".format(
318328
test_file

redis_benchmarks_specification/__self_contained_coordinator__/clients.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ def prepare_memtier_benchmark_parameters(
88
):
99
benchmark_command = [
1010
full_benchmark_path,
11+
"--json-out-file",
12+
local_benchmark_output_filename,
1113
"--port",
1214
"{}".format(port),
1315
"--server",
1416
"{}".format(server),
15-
"--json-out-file",
16-
local_benchmark_output_filename,
1717
]
1818
if oss_cluster_api_enabled is True:
1919
benchmark_command.append("--cluster-mode")
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,28 @@
11
version: 0.4
22
name: memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix
3-
description: Runs memtier_benchmark, for a keyspace length of 10M keys with a data size of 10 Bytes for each key.
3+
description: memtier_benchmark, 10M keys, string GET, 10B value size, pipeline=100, no key prefix
44
dbconfig:
55
configuration-parameters:
66
save: '""'
77
check:
88
keyspacelen: 10000000
9-
preload_tool:
10-
run_image: redislabs/memtier_benchmark:edge
11-
tool: memtier_benchmark
12-
arguments: '--key-maximum 10000000 -n allkeys --key-prefix "" --data-size 10 --ratio 1:0 --key-pattern P:P -c 50 -t 2 --hide-histogram --key-minimum 1'
139
resources:
1410
requests:
15-
memory: 1g
11+
memory: 10g
12+
tested-groups:
13+
- string
1614
tested-commands:
1715
- get
1816
redis-topologies:
1917
- oss-standalone
20-
build-variants:
21-
- gcc:8.5.0-amd64-debian-buster-default
22-
- dockerhub
18+
- oss-cluster-3-primaries
2319
clientconfig:
2420
run_image: redislabs/memtier_benchmark:edge
2521
tool: memtier_benchmark
26-
arguments: '--key-maximum 10000000 --key-minimum 1 --pipeline 100 --key-prefix "" --distinct-client-seed --data-size 10 --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120'
22+
arguments: '"--data-size" "10" --command "GET __key__" --command-key-pattern="R" --key-prefix="" -c 50 -t 2 --pipeline 100 --hide-histogram --test-time 180'
2723
resources:
2824
requests:
29-
cpus: '10'
25+
cpus: '3'
3026
memory: 2g
3127

32-
tested-groups:
33-
- string
34-
priority: 1
28+
priority: 33
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
11
version: 0.4
22
name: memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix
3-
description: Runs memtier_benchmark, for a keyspace length of 1M keys loading STRINGs in which the value has a data size of 10 Bytes.
3+
description: memtier_benchmark, 1M keys, string SET, 10B value size, pipeline=100, no key prefix
44
dbconfig:
55
configuration-parameters:
66
save: '""'
77
check:
8-
keyspacelen: 0
8+
keyspacelen: 1000000
99
resources:
1010
requests:
1111
memory: 1g
12+
tested-groups:
13+
- string
1214
tested-commands:
1315
- set
1416
redis-topologies:
1517
- oss-standalone
16-
build-variants:
17-
- gcc:8.5.0-amd64-debian-buster-default
18-
- dockerhub
18+
- oss-cluster-3-primaries
1919
clientconfig:
2020
run_image: redislabs/memtier_benchmark:edge
2121
tool: memtier_benchmark
22-
arguments: '"--pipeline" "100" "--data-size" "10" --distinct-client-seed --key-prefix "" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 1000000 --test-time 120 -c 10 -t 10 --hide-histogram'
22+
arguments: '"--data-size" "10" --command "SET __key__ __data__" --command-key-pattern="R" --key-prefix="" -c 50 -t 2 --pipeline 100 --hide-histogram --test-time 180'
2323
resources:
2424
requests:
25-
cpus: '10'
25+
cpus: '3'
2626
memory: 2g
2727

28-
tested-groups:
29-
- string
30-
priority: 17
28+
priority: 33
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,28 @@
11
version: 0.4
22
name: memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix
3-
description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 10 Bytes for each key.
3+
description: memtier_benchmark, 1M keys, string GET, 10B value size, pipeline=100, no key prefix
44
dbconfig:
55
configuration-parameters:
66
save: '""'
77
check:
88
keyspacelen: 1000000
9-
preload_tool:
10-
run_image: redislabs/memtier_benchmark:edge
11-
tool: memtier_benchmark
12-
arguments: '--key-maximum 1000000 -n allkeys --key-prefix "" --data-size 10 --ratio 1:0 --key-pattern P:P -c 50 -t 2 --hide-histogram --key-minimum 1'
139
resources:
1410
requests:
1511
memory: 1g
12+
tested-groups:
13+
- string
1614
tested-commands:
1715
- get
1816
redis-topologies:
1917
- oss-standalone
20-
build-variants:
21-
- gcc:8.5.0-amd64-debian-buster-default
22-
- dockerhub
18+
- oss-cluster-3-primaries
2319
clientconfig:
2420
run_image: redislabs/memtier_benchmark:edge
2521
tool: memtier_benchmark
26-
arguments: '--key-maximum 1000000 --key-minimum 1 --pipeline 100 --key-prefix "" --distinct-client-seed --data-size 10 --ratio 0:1 --key-pattern R:R -c 10 -t 10 --hide-histogram --test-time 120'
22+
arguments: '"--data-size" "10" --command "GET __key__" --command-key-pattern="R" --key-prefix="" -c 50 -t 2 --pipeline 100 --hide-histogram --test-time 180'
2723
resources:
2824
requests:
29-
cpus: '10'
25+
cpus: '3'
3026
memory: 2g
3127

32-
tested-groups:
33-
- string
34-
priority: 1
28+
priority: 33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: 0.4
2+
name: memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score
3+
description: Runs memtier_benchmark, for a keyspace length of 1 key loading the sorted set with 5 elements with different floating-point numbers, gradually increasing in the size of the float to parse. This is a control benchmark for the one named memtier_benchmark-1key-load-zset-with-5-elements-hexa-score
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 0
9+
resources:
10+
requests:
11+
memory: 1g
12+
tested-commands:
13+
- zadd
14+
redis-topologies:
15+
- oss-standalone
16+
build-variants:
17+
- gcc:8.5.0-amd64-debian-buster-default
18+
- dockerhub
19+
clientconfig:
20+
run_image: redislabs/memtier_benchmark:edge
21+
tool: memtier_benchmark
22+
arguments: --test-time 120 -c 50 -t 4 --command "ZADD zset 2.0 element-1-simple-score 62.0 element-2-medium-score 2047.9999999999998 element-3-long-score 1.0e+30 element-4-very-long-score 1.0e+60 element-5-extra-large-score" --command-key-pattern="P" --key-minimum=1 --key-maximum 1 --hide-histogram
23+
resources:
24+
requests:
25+
cpus: '4'
26+
memory: 4g
27+
28+
tested-groups:
29+
- sorted-set
30+
priority: 12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: 0.4
2+
name: memtier_benchmark-1key-load-zset-with-5-elements-parsing-hexa-score
3+
description: Runs memtier_benchmark, for a keyspace length of 1 key loading the sorted set with 5 elements with different valid hexadecimal floating-point numbers, gradually increasing in length of the string to parse.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 0
9+
resources:
10+
requests:
11+
memory: 1g
12+
tested-commands:
13+
- zadd
14+
redis-topologies:
15+
- oss-standalone
16+
build-variants:
17+
- gcc:8.5.0-amd64-debian-buster-default
18+
- dockerhub
19+
clientconfig:
20+
run_image: redislabs/memtier_benchmark:edge
21+
tool: memtier_benchmark
22+
arguments: --test-time 120 -c 50 -t 4 --command "ZADD zset 0x1p+1 element-1-simple-score 0x1.fp+5 element-2-medium-score 0x1.fffffffffffffp+10 element-3-long-score 0x1.ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffp+100 element-4-very-long-score 0x1.fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffp+200 element-5-extra-large-score" --command-key-pattern="P" --key-minimum=1 --key-maximum 1 --hide-histogram
23+
resources:
24+
requests:
25+
cpus: '4'
26+
memory: 4g
27+
28+
tested-groups:
29+
- sorted-set
30+
priority: 12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 0.4
2+
name: memtier_benchmark-1key-zset-600K-elements-zrangestore-1K-elements
3+
description: Runs memtier_benchmark, for a keyspace length of 1 key doing zrangestore on a high cardinality sorted set
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '-n allkeys "--data-size" "10" --key-prefix "" "--command" "ZADD zset __key__ __key__" "--command-key-pattern" "P" "-c" "1" "-t" "1" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "600001"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- zrangestore
18+
redis-topologies:
19+
- oss-standalone
20+
build-variants:
21+
- gcc:8.5.0-amd64-debian-buster-default
22+
- dockerhub
23+
clientconfig:
24+
run_image: redislabs/memtier_benchmark:edge
25+
tool: memtier_benchmark
26+
arguments: --test-time 120 -c 1 -t 1 --command "ZRANGESTORE zset1 zset 0 1000" --command-key-pattern="P" --key-minimum=1 --key-maximum 1 --hide-histogram
27+
resources:
28+
requests:
29+
cpus: '4'
30+
memory: 4g
31+
32+
tested-groups:
33+
- sorted-set
34+
priority: 12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 0.4
2+
name: memtier_benchmark-1key-zset-600K-elements-zrangestore-300K-elements
3+
description: Runs memtier_benchmark, for a keyspace length of 1 key loading the sorted set with 5 elements with different floating-point numbers, gradually increasing in the size of the float to parse. This is a control benchmark for the one named memtier_benchmark-1key-load-zset-with-5-elements-hexa-score
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '-n allkeys "--data-size" "10" --key-prefix "" "--command" "ZADD zset __key__ __key__" "--command-key-pattern" "P" "-c" "1" "-t" "1" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "600001"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- zrangestore
18+
redis-topologies:
19+
- oss-standalone
20+
build-variants:
21+
- gcc:8.5.0-amd64-debian-buster-default
22+
- dockerhub
23+
clientconfig:
24+
run_image: redislabs/memtier_benchmark:edge
25+
tool: memtier_benchmark
26+
arguments: --test-time 120 -c 1 -t 1 --command "ZRANGESTORE zset1 zset 0 300000" --command-key-pattern="P" --key-minimum=1 --key-maximum 1 --hide-histogram
27+
resources:
28+
requests:
29+
cpus: '4'
30+
memory: 4g
31+
32+
tested-groups:
33+
- sorted-set
34+
priority: 12

0 commit comments

Comments
 (0)