Skip to content

Commit 0d1a400

Browse files
Add comprehensive SET:GET mixed workload tests for essential data sizes
- Add 32B SET:GET tests (default memtier size for community usage) - Add 100B SET:GET tests with expiration support for common use cases - Add 512B SET:GET tests (referenced in cloud provider documentation) - Add 1KB SET:GET tests (common benchmark size) - Include both pipeline 1 and pipeline 10 configurations - All tests use 50:50 SET:GET ratio for realistic mixed workloads - Tests cover 1M keyspace with proper preloading This completes the essential SET:GET benchmark coverage for the four most important data sizes used in Redis performance testing and documentation.
1 parent a160285 commit 0d1a400

12 files changed

+418
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-get-32B-pipeline-10
3+
description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 32 Bytes for each key.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "32" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- get
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: '--pipeline 10 --data-size 32 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180'
27+
resources:
28+
requests:
29+
cpus: '4'
30+
memory: 2g
31+
32+
tested-groups:
33+
- string
34+
priority: 1
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-get-32B
3+
description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 32 Bytes for each key.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "32" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- get
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: '--data-size 32 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180'
27+
resources:
28+
requests:
29+
cpus: '4'
30+
memory: 2g
31+
32+
tested-groups:
33+
- string
34+
priority: 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 100 Bytes, expiration, and pipeline 10 for community/youtuber use-case.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "100" --command "SET __key__ __data__ EX 10" --command-key-pattern P -c 50 -t 2 --hide-histogram --key-minimum 1 --key-maximum 1000000 -n allkeys'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- setex
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "100" --distinct-client-seed --command "SET __key__ __data__ EX 10" --command "GET __key__" --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram --pipeline 10'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 100 Bytes and expiration for community/youtuber use-case.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "100" --command "SET __key__ __data__ EX 10" --command-key-pattern P -c 50 -t 2 --hide-histogram --key-minimum 1 --key-maximum 1000000 -n allkeys'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- setex
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "100" --distinct-client-seed --command "SET __key__ __data__ EX 10" --command "GET __key__" --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 100 Bytes and pipeline 10.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- set
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "100" --distinct-client-seed --ratio 1:1 --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram --pipeline 10'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 100 Bytes.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "100" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- set
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "100" --distinct-client-seed --ratio 1:1 --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 1000 Bytes and pipeline 10.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "1000" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- set
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "1000" --distinct-client-seed --ratio 1:1 --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram --pipeline 10'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 1000 Bytes.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "1000" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- set
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "1000" --distinct-client-seed --ratio 1:1 --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 32 Bytes and pipeline 10.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "32" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- set
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "32" --distinct-client-seed --ratio 1:1 --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram --pipeline 10'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
version: 0.4
2+
name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B
3+
description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 32 Bytes.
4+
dbconfig:
5+
configuration-parameters:
6+
save: '""'
7+
check:
8+
keyspacelen: 1000000
9+
preload_tool:
10+
run_image: redislabs/memtier_benchmark:edge
11+
tool: memtier_benchmark
12+
arguments: '"--data-size" "32" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"'
13+
resources:
14+
requests:
15+
memory: 1g
16+
tested-commands:
17+
- set
18+
- get
19+
tested-groups:
20+
- string
21+
redis-topologies:
22+
- oss-standalone
23+
build-variants:
24+
- gcc:8.5.0-amd64-debian-buster-default
25+
- dockerhub
26+
clientconfig:
27+
run_image: redislabs/memtier_benchmark:edge
28+
tool: memtier_benchmark
29+
arguments: '"--data-size" "32" --distinct-client-seed --ratio 1:1 --key-pattern R:R --key-minimum=1 --key-maximum 1000000 --test-time 180 -c 25 -t 4 --hide-histogram'
30+
resources:
31+
requests:
32+
cpus: '4'
33+
memory: 2g
34+
35+
priority: 1

0 commit comments

Comments
 (0)