Skip to content

Commit bc89283

Browse files
Added HSET tests (with/without pipeline) (#73)
1 parent 235da2d commit bc89283

9 files changed

+247
-1
lines changed

redis_benchmarks_specification/__runner__/args.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,15 @@ def create_client_runner_args(project_name):
6464
action="store_true",
6565
help="uploads the results to RedisTimeSeries. Proper credentials are required",
6666
)
67+
parser.add_argument(
68+
"--flushall_on_every_test_start",
69+
default=False,
70+
action="store_true",
71+
help="At the start of every test send a FLUSHALL",
72+
)
6773
parser.add_argument(
6874
"--flushall_on_every_test_end",
69-
default=True,
75+
default=False,
7076
action="store_true",
7177
help="At the end of every test send a FLUSHALL",
7278
)

redis_benchmarks_specification/__runner__/runner.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ def process_self_contained_coordinator_stream(
195195
client_cpuset_cpus, current_cpu_pos = generate_cpuset_cpus(
196196
ceil_client_cpu_limit, current_cpu_pos
197197
)
198+
if args.flushall_on_every_test_start:
199+
logging.info("Sending FLUSHALL to the DB")
200+
r.flushall()
198201
client_mnt_point = "/mnt/client/"
199202
benchmark_tool_workdir = client_mnt_point
200203

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 0.4
2+
name: "memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10"
3+
description: "Runs memtier_benchmark, for a keyspace length of 10M keys
4+
loading HASHES with 5 fields each.
5+
Each field value has a data size of 100 Bytes."
6+
dbconfig:
7+
configuration-parameters:
8+
save: '""'
9+
tested-commands:
10+
- HSET
11+
redis-topologies:
12+
- oss-standalone
13+
14+
build-variants:
15+
- gcc:8.5.0-amd64-debian-buster-default
16+
17+
clientconfig:
18+
run_image: redislabs/memtier_benchmark:1.3.0
19+
tool: memtier_benchmark
20+
arguments: '--pipeline=10 "--data-size" "100" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -n 50000 -c 50 -t 4 --hide-histogram'
21+
resources:
22+
requests:
23+
cpus: "4"
24+
memory: "2g"
25+
exporter:
26+
redistimeseries:
27+
break_by:
28+
- version
29+
- commit
30+
timemetric: '$."ALL STATS".Runtime."Start time"'
31+
metrics:
32+
- '$."ALL STATS".*."Ops/sec"'
33+
- '$."ALL STATS".*."Latency"'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 0.4
2+
name: "memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values"
3+
description: "Runs memtier_benchmark, for a keyspace length of 10M keys
4+
loading HASHES with 5 fields each.
5+
Each field value has a data size of 100 Bytes."
6+
dbconfig:
7+
configuration-parameters:
8+
save: '""'
9+
tested-commands:
10+
- HSET
11+
redis-topologies:
12+
- oss-standalone
13+
14+
build-variants:
15+
- gcc:8.5.0-amd64-debian-buster-default
16+
17+
clientconfig:
18+
run_image: redislabs/memtier_benchmark:1.3.0
19+
tool: memtier_benchmark
20+
arguments: '"--data-size" "100" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -n 50000 -c 50 -t 4 --hide-histogram'
21+
resources:
22+
requests:
23+
cpus: "4"
24+
memory: "2g"
25+
exporter:
26+
redistimeseries:
27+
break_by:
28+
- version
29+
- commit
30+
timemetric: '$."ALL STATS".Runtime."Start time"'
31+
metrics:
32+
- '$."ALL STATS".*."Ops/sec"'
33+
- '$."ALL STATS".*."Latency"'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 0.4
2+
name: "memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10"
3+
description: "Runs memtier_benchmark, for a keyspace length of 10M keys
4+
loading HASHES with 5 fields each.
5+
Each field value has a data size of 10 Bytes."
6+
dbconfig:
7+
configuration-parameters:
8+
save: '""'
9+
tested-commands:
10+
- HSET
11+
redis-topologies:
12+
- oss-standalone
13+
14+
build-variants:
15+
- gcc:8.5.0-amd64-debian-buster-default
16+
17+
clientconfig:
18+
run_image: redislabs/memtier_benchmark:1.3.0
19+
tool: memtier_benchmark
20+
arguments: '--pipeline=10 "--data-size" "10" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -n 50000 -c 50 -t 4 --hide-histogram'
21+
resources:
22+
requests:
23+
cpus: "4"
24+
memory: "2g"
25+
exporter:
26+
redistimeseries:
27+
break_by:
28+
- version
29+
- commit
30+
timemetric: '$."ALL STATS".Runtime."Start time"'
31+
metrics:
32+
- '$."ALL STATS".*."Ops/sec"'
33+
- '$."ALL STATS".*."Latency"'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 0.4
2+
name: "memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values"
3+
description: "Runs memtier_benchmark, for a keyspace length of 10M keys
4+
loading HASHES with 5 fields each.
5+
Each field value has a data size of 10 Bytes."
6+
dbconfig:
7+
configuration-parameters:
8+
save: '""'
9+
tested-commands:
10+
- HSET
11+
redis-topologies:
12+
- oss-standalone
13+
14+
build-variants:
15+
- gcc:8.5.0-amd64-debian-buster-default
16+
17+
clientconfig:
18+
run_image: redislabs/memtier_benchmark:1.3.0
19+
tool: memtier_benchmark
20+
arguments: '"--data-size" "10" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 10000000 -n 50000 -c 50 -t 4 --hide-histogram'
21+
resources:
22+
requests:
23+
cpus: "4"
24+
memory: "2g"
25+
exporter:
26+
redistimeseries:
27+
break_by:
28+
- version
29+
- commit
30+
timemetric: '$."ALL STATS".Runtime."Start time"'
31+
metrics:
32+
- '$."ALL STATS".*."Ops/sec"'
33+
- '$."ALL STATS".*."Latency"'
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
version: 0.4
2+
name: "memtier_benchmark-1Mkeys-4KiB-expire-use-case"
3+
description: "Runs memtier_benchmark, for a keyspace length of 1M keys
4+
with a data size of 4KiB Bytes for each key, which 50% of the keys have expiration set during the benchmark."
5+
dbconfig:
6+
configuration-parameters:
7+
save: '""'
8+
preload_tool:
9+
run_image: redislabs/memtier_benchmark:1.3.0
10+
tool: memtier_benchmark
11+
arguments: '"--data-size" "1000" "--command" "SET __key__ __value__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram"'
12+
tested-commands:
13+
- SET
14+
- SETX
15+
- GET
16+
- DEL
17+
redis-topologies:
18+
- oss-standalone
19+
20+
build-variants:
21+
- gcc:8.5.0-amd64-debian-buster-default
22+
23+
clientconfig:
24+
run_image: redislabs/memtier_benchmark:1.3.0
25+
tool: memtier_benchmark
26+
arguments: '"--data-size" "4000" --command "SETEX __key__ 10 __value__" --command-key-pattern="R" --command "SET __key__ __value__" --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'
27+
resources:
28+
requests:
29+
cpus: "3"
30+
memory: "2g"
31+
exporter:
32+
redistimeseries:
33+
break_by:
34+
- version
35+
- commit
36+
timemetric: '$."ALL STATS".Runtime."Start time"'
37+
metrics:
38+
- '$."ALL STATS".*."Ops/sec"'
39+
- '$."ALL STATS".*."Latency"'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 0.4
2+
name: "memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10"
3+
description: "Runs memtier_benchmark, for a keyspace length of 1M keys
4+
loading HASHES with 5 fields each.
5+
Each field value has a data size of 1000 Bytes."
6+
dbconfig:
7+
configuration-parameters:
8+
save: '""'
9+
tested-commands:
10+
- HSET
11+
redis-topologies:
12+
- oss-standalone
13+
14+
build-variants:
15+
- gcc:8.5.0-amd64-debian-buster-default
16+
17+
clientconfig:
18+
run_image: redislabs/memtier_benchmark:1.3.0
19+
tool: memtier_benchmark
20+
arguments: '--pipeline=10 "--data-size" "1000" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 -n 5000 -c 50 -t 4 --hide-histogram'
21+
resources:
22+
requests:
23+
cpus: "4"
24+
memory: "2g"
25+
exporter:
26+
redistimeseries:
27+
break_by:
28+
- version
29+
- commit
30+
timemetric: '$."ALL STATS".Runtime."Start time"'
31+
metrics:
32+
- '$."ALL STATS".*."Ops/sec"'
33+
- '$."ALL STATS".*."Latency"'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
version: 0.4
2+
name: "memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values"
3+
description: "Runs memtier_benchmark, for a keyspace length of 1M keys
4+
loading HASHES with 5 fields each.
5+
Each field value has a data size of 1000 Bytes."
6+
dbconfig:
7+
configuration-parameters:
8+
save: '""'
9+
tested-commands:
10+
- HSET
11+
redis-topologies:
12+
- oss-standalone
13+
14+
build-variants:
15+
- gcc:8.5.0-amd64-debian-buster-default
16+
17+
clientconfig:
18+
run_image: redislabs/memtier_benchmark:1.3.0
19+
tool: memtier_benchmark
20+
arguments: '"--data-size" "1000" --command "HSET __key__ field1 __data__ field2 __data__ field3 __data__ field4 __data__ field5 __data__" --command-key-pattern="P" --key-minimum=1 --key-maximum 1000000 -n 5000 -c 50 -t 4 --hide-histogram'
21+
resources:
22+
requests:
23+
cpus: "4"
24+
memory: "2g"
25+
exporter:
26+
redistimeseries:
27+
break_by:
28+
- version
29+
- commit
30+
timemetric: '$."ALL STATS".Runtime."Start time"'
31+
metrics:
32+
- '$."ALL STATS".*."Ops/sec"'
33+
- '$."ALL STATS".*."Latency"'

0 commit comments

Comments
 (0)