diff --git a/pyproject.toml b/pyproject.toml index 6028195c..6ec1a81c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "redis-benchmarks-specification" -version = "0.1.270" +version = "0.1.272" 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/setups/builders/gcc:10.5.0-amd64-debian-bullseye-redisearch.yml b/redis_benchmarks_specification/setups/builders/gcc:10.5.0-amd64-debian-bullseye-redisearch.yml deleted file mode 100644 index 4a24fb5b..00000000 --- a/redis_benchmarks_specification/setups/builders/gcc:10.5.0-amd64-debian-bullseye-redisearch.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: 0.1 -id: gcc:10.5.0-amd64-debian-bullseye-redisearch -os: debian-bullseye -arch: amd64 -compiler: "gcc" -cpp_compiler: "g++" -kind: docker -build_image: gcc:10.5.0-bullseye -run_image: debian:bullseye -description: "Using GNU Compiler Containers (https://hub.docker.com/_/gcc?tab=description) - pre-configured environment with all the tools required to build with gcc." -build_artifacts: - - redisearch.so - - redis-server -build_command: "sh -c 'apt update && apt install python3-pip -y && BUILD_WITH_MODULES=yes make --ignore-errors -j && cd modules/redisearch/src && make setup && make build && cd -'" -metadata: - compiler: "gcc" - compiler_version: "10.5.0" - os: debian-bullseye - arch: amd64 - -env: - REDIS_CFLAGS: "-g -fno-omit-frame-pointer" - diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-set-update-del-ex-36000-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-set-update-del-ex-36000-pipeline-10.yml new file mode 100644 index 00000000..99426530 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-set-update-del-ex-36000-pipeline-10.yml @@ -0,0 +1,32 @@ +version: 0.4 +name: memtier_benchmark-10Mkeys-string-set-update-del-ex-36000-pipeline-10 +description: Multi-step test - SET EX 36000 (10 hours), then update same keys with SET EX 36000, then DEL. Tests command throughput with long TTL without active expiration. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 0 + resources: + requests: + memory: 5g +tested-commands: +- set +- del +tested-groups: +- string +- generic +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 36000" --command "SET __key__ BBB EX 36000" --command "DEL __key__" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 10000000 -n allkeys' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-150Mkeys-string-set-ex-20-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-150Mkeys-string-set-ex-20-pipeline-10.yml new file mode 100644 index 00000000..3366104d --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-150Mkeys-string-set-ex-20-pipeline-10.yml @@ -0,0 +1,30 @@ +version: 0.4 +name: memtier_benchmark-150Mkeys-string-set-ex-20-pipeline-10 +description: Runs memtier_benchmark, for a keyspace of 150M keys with SET EX 20 commands and pipeline 10. Tests medium TTL expiration performance. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 0 + resources: + requests: + memory: 20g +tested-commands: +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 20" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 150000000 -n allkeys' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10.yml new file mode 100644 index 00000000..c89a2465 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10.yml @@ -0,0 +1,34 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10 +description: Runs memtier_benchmark, for a keyspace length of 1M keys focusing on SCAN performance with CURSOR and large COUNT. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--pipeline" "100" "--data-size" "100" "--command" "HSET __key__ field __data__" "--command-key-pattern" "P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' + resources: + requests: + memory: 1g +tested-commands: +- scan +tested-groups: +- generic +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: --command "SCAN __key__ COUNT 5000" --key-prefix "" --distinct-client-seed --key-maximum 1000000 --pipeline 10 --command-key-pattern="R" -c 50 -t 2 --hide-histogram --test-time 180 + resources: + requests: + cpus: '2' + memory: 2g + +priority: 44 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B-pipeline-10.yml new file mode 100644 index 00000000..cd8ccb98 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B-pipeline-10.yml @@ -0,0 +1,34 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-get-32B-pipeline-10 +description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 32 Bytes for each key. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--data-size" "32" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' + resources: + requests: + memory: 1g +tested-commands: +- get +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--pipeline 10 --data-size 32 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180' + resources: + requests: + cpus: '4' + memory: 2g + +tested-groups: +- string +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B.yml new file mode 100644 index 00000000..9d67d176 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B.yml @@ -0,0 +1,34 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-get-32B +description: Runs memtier_benchmark, for a keyspace length of 1M keys with a data size of 32 Bytes for each key. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--data-size" "32" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1"' + resources: + requests: + memory: 1g +tested-commands: +- get +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--data-size 32 --ratio 0:1 --key-pattern R:R -c 25 -t 4 --hide-histogram --test-time 180' + resources: + requests: + cpus: '4' + memory: 2g + +tested-groups: +- string +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10.yml new file mode 100644 index 00000000..d63f2e8b --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10.yml @@ -0,0 +1,36 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10 +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. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + memory: 1g +tested-commands: +- setex +- get +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire.yml new file mode 100644 index 00000000..af3a0730 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire.yml @@ -0,0 +1,36 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire +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. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + memory: 1g +tested-commands: +- setex +- get +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10.yml new file mode 100644 index 00000000..e53c0fd9 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10 +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. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B.yml new file mode 100644 index 00000000..be66abaf --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B +description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 100 Bytes. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10.yml new file mode 100644 index 00000000..a45cb433 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10 +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. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB.yml new file mode 100644 index 00000000..7964a573 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB +description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 1000 Bytes. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10.yml new file mode 100644 index 00000000..abe5d75d --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10 +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. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B.yml new file mode 100644 index 00000000..d0d988d2 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B +description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 32 Bytes. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + 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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10.yml new file mode 100644 index 00000000..a44c6ec5 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10 +description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 512 Bytes and pipeline 10. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--data-size" "512" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--data-size" "512" --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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B.yml new file mode 100644 index 00000000..2f4c0499 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B.yml @@ -0,0 +1,35 @@ +version: 0.4 +name: memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B +description: Runs memtier_benchmark, for a keyspace of 1M keys with 50% SETs and 50% GETs (mixed) with a data size of 512 Bytes. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--data-size" "512" "--ratio" "1:0" "--key-pattern" "P:P" "-c" "50" "-t" "2" "--hide-histogram" "--key-minimum" "1" "--key-maximum" "1000000" "-n" "allkeys"' + resources: + requests: + memory: 1g +tested-commands: +- set +- get +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '"--data-size" "512" --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' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1.yml new file mode 100644 index 00000000..7d22ee0c --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1.yml @@ -0,0 +1,32 @@ +version: 0.4 +name: memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1 +description: Runs memtier_benchmark, for a keyspace length of 1 SORTED SET key. The SORTED SET contains 100 elements (listpack encoded) and we query it using ZRANK. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 1 + init_commands: + - '"ZADD" "zset:listpack:100" "1" "1" "2" "2" "3" "3" "4" "4" "5" "5" "6" "6" "7" "7" "8" "8" "9" "9" "10" "10" "11" "11" "12" "12" "13" "13" "14" "14" "15" "15" "16" "16" "17" "17" "18" "18" "19" "19" "20" "20" "21" "21" "22" "22" "23" "23" "24" "24" "25" "25" "26" "26" "27" "27" "28" "28" "29" "29" "30" "30" "31" "31" "32" "32" "33" "33" "34" "34" "35" "35" "36" "36" "37" "37" "38" "38" "39" "39" "40" "40" "41" "41" "42" "42" "43" "43" "44" "44" "45" "45" "46" "46" "47" "47" "48" "48" "49" "49" "50" "50" "51" "51" "52" "52" "53" "53" "54" "54" "55" "55" "56" "56" "57" "57" "58" "58" "59" "59" "60" "60" "61" "61" "62" "62" "63" "63" "64" "64" "65" "65" "66" "66" "67" "67" "68" "68" "69" "69" "70" "70" "71" "71" "72" "72" "73" "73" "74" "74" "75" "75" "76" "76" "77" "77" "78" "78" "79" "79" "80" "80" "81" "81" "82" "82" "83" "83" "84" "84" "85" "85" "86" "86" "87" "87" "88" "88" "89" "89" "90" "90" "91" "91" "92" "92" "93" "93" "94" "94" "95" "95" "96" "96" "97" "97" "98" "98" "99" "99" "100" "100"' + resources: + requests: + memory: 1g +tested-groups: +- sorted-set +tested-commands: +- zrank +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: --command="ZRANK zset:listpack:100 __key__" --key-maximum 100 --key-minimum 1 --command-key-pattern=R --key-prefix "" --hide-histogram --test-time 180 --pipeline 1 + resources: + requests: + cpus: '4' + memory: 2g + +priority: 72 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-10-with-precondition-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-10-with-precondition-pipeline-10.yml new file mode 100644 index 00000000..f4091a25 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-10-with-precondition-pipeline-10.yml @@ -0,0 +1,34 @@ +version: 0.4 +name: memtier_benchmark-50Mkeys-string-set-ex-10-with-precondition-pipeline-10 +description: Multi-step test - Precondition SET EX 10000 for 50M keys, then SET EX 10 for another 50M keys with different prefix. Tests expiration performance with existing long-TTL keys. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 50000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 10000" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 50000000 -n allkeys --key-prefix=1' + resources: + requests: + memory: 10g +tested-commands: +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 10" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 50000000 -n allkeys --key-prefix=2' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-10years-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-10years-pipeline-10.yml new file mode 100644 index 00000000..b6e17ba0 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-10years-pipeline-10.yml @@ -0,0 +1,30 @@ +version: 0.4 +name: memtier_benchmark-50Mkeys-string-set-ex-10years-pipeline-10 +description: Runs memtier_benchmark, for a keyspace of 50M keys with SET EX 311040000 (10 years) commands and pipeline 10. Tests very long TTL performance. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 0 + resources: + requests: + memory: 10g +tested-commands: +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 311040000" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 50000000 -n allkeys' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-3-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-3-pipeline-10.yml new file mode 100644 index 00000000..f0decfba --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-3-pipeline-10.yml @@ -0,0 +1,30 @@ +version: 0.4 +name: memtier_benchmark-50Mkeys-string-set-ex-3-pipeline-10 +description: Runs memtier_benchmark, for a keyspace of 50M keys with SET EX 3 commands and pipeline 10. Tests short TTL expiration performance. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 0 + resources: + requests: + memory: 10g +tested-commands: +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 3" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 50000000 -n allkeys --key-prefix=1' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-random-range-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-random-range-pipeline-10.yml new file mode 100644 index 00000000..59e72b95 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-ex-random-range-pipeline-10.yml @@ -0,0 +1,30 @@ +version: 0.4 +name: memtier_benchmark-50Mkeys-string-set-ex-random-range-pipeline-10 +description: Runs memtier_benchmark with SET EX using random TTL range from 20 seconds to 30 days. Worst-case test for ebuckets with wide TTL distribution. Note - requires memtier_benchmark modification to support __data__ placeholder for EX values. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 0 + resources: + requests: + memory: 10g +tested-commands: +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX __data__" -c 50 -t 4 --data-size-range=20-2592000 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 50000000 -n allkeys --key-prefix=1' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-update-del-ex-120-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-update-del-ex-120-pipeline-10.yml new file mode 100644 index 00000000..4b104033 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-50Mkeys-string-set-update-del-ex-120-pipeline-10.yml @@ -0,0 +1,32 @@ +version: 0.4 +name: memtier_benchmark-50Mkeys-string-set-update-del-ex-120-pipeline-10 +description: Multi-step test - SET EX 120, then update same keys with SET EX 120, then DEL. Tests command throughput without active expiration (120s TTL prevents expiration during test). +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 0 + resources: + requests: + memory: 10g +tested-commands: +- set +- del +tested-groups: +- string +- generic +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ BBB EX 120" --command "SET __key__ BBB EX 120" --command "DEL __key__" -c 50 -t 4 --command-key-pattern=P --pipeline 10 --hide-histogram --key-maximum 50000000 -n allkeys' + resources: + requests: + cpus: '4' + memory: 2g + +priority: 1 diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-80Mkeys-string-set-ex-20-precodition-multiclient-pipeline-10.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-80Mkeys-string-set-ex-20-precodition-multiclient-pipeline-10.yml new file mode 100644 index 00000000..fedbeead --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-80Mkeys-string-set-ex-20-precodition-multiclient-pipeline-10.yml @@ -0,0 +1,34 @@ +version: 0.4 +name: memtier_benchmark-80Mkeys-string-set-ex-20-precodition-multiclient-pipeline-10 +description: Multi-step AWS test - Precondition SET EX 10000 for 20M keys, then SET EX 20 for 80M keys with 4 clients and 2 threads. Tests multi-client expiration performance. +dbconfig: + configuration-parameters: + save: '""' + check: + keyspacelen: 20000000 + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ XXX EX 10000" --command-key-pattern=P -c 50 -t 4 --pipeline 10 --hide-histogram --key-maximum 20000000 -n allkeys --key-prefix=1' + resources: + requests: + memory: 15g +tested-commands: +- set +tested-groups: +- string +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +- dockerhub +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: '--command "SET __key__ XXX EX 20" --command-key-pattern=P -c 4 -t 2 --pipeline 10 --hide-histogram --key-maximum 80000000 -n allkeys --key-prefix=2' + resources: + requests: + cpus: '4' + memory: 4g + +priority: 1