Skip to content

Commit 34615be

Browse files
Extended ZSET benchmarks with ZRANGESTORE and extra ZADD benchmarks (#280)
* Extended ZSET benchmarks with ZRANGESTORE and extra ZADD benchmarks * Fixed failing memtier args test (#281) * Fixed wrong test arg order on redis_benchmarks_specification (#282) * Fixed failing memtier args test * Fixed wrong test arg order on redis_benchmarks_specification/__self_contained_coordinator__/clients.py * Fix test issues: order of arguments in prepare_memtier_benchmark_parameters and escape sequence warning * Fix duplicate --json-out-file parameter in prepare_memtier_benchmark_parameters
1 parent ba39cd5 commit 34615be

8 files changed

+134
-6
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/__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
@@ -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

utils/tests/test_runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ def test_extract_testsuites():
265265
"--test-suites-folder",
266266
"./utils/tests/test_data/test-suites",
267267
"--tests-regex",
268-
".*\.yml",
268+
r".*\.yml",
269269
]
270270
)
271271
tests = extract_testsuites(args)

utils/tests/test_self_contained_coordinator_memtier.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,7 +1076,7 @@ def test_prepare_memtier_benchmark_parameters():
10761076
)
10771077
assert (
10781078
benchmark_command_str
1079-
== 'memtier_benchmark --port 12000 --server localhost --json-out-file 1.json "--data-size" "100" --command "SETEX __key__ 10 __data__" --command-key-pattern="R" --command "SET __key__ __data__" --command-key-pattern="R" --command "GET __key__" --command-key-pattern="R" --command "DEL __key__" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 300'
1079+
== 'memtier_benchmark --json-out-file 1.json --port 12000 --server localhost "--data-size" "100" --command "SETEX __key__ 10 __data__" --command-key-pattern="R" --command "SET __key__ __data__" --command-key-pattern="R" --command "GET __key__" --command-key-pattern="R" --command "DEL __key__" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 300'
10801080
)
10811081
oss_api_enabled = True
10821082
(
@@ -1092,7 +1092,7 @@ def test_prepare_memtier_benchmark_parameters():
10921092
)
10931093
assert (
10941094
benchmark_command_str
1095-
== 'memtier_benchmark --port 12000 --server localhost --json-out-file 1.json --cluster-mode "--data-size" "100" --command "SETEX __key__ 10 __data__" --command-key-pattern="R" --command "SET __key__ __data__" --command-key-pattern="R" --command "GET __key__" --command-key-pattern="R" --command "DEL __key__" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 300'
1095+
== 'memtier_benchmark --json-out-file 1.json --port 12000 --server localhost --cluster-mode "--data-size" "100" --command "SETEX __key__ 10 __data__" --command-key-pattern="R" --command "SET __key__ __data__" --command-key-pattern="R" --command "GET __key__" --command-key-pattern="R" --command "DEL __key__" --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 300'
10961096
)
10971097

10981098

0 commit comments

Comments
 (0)