From 0a563d9b6e31cee1437b8156aa290f6056d45633 Mon Sep 17 00:00:00 2001 From: Martin Dimitrov Date: Thu, 15 Dec 2022 12:59:19 -0700 Subject: [PATCH 1/2] added support for bitfield command. --- ...r_benchmark-1key-100MB-string-bitfield.yml | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml new file mode 100644 index 00000000..b554d3c8 --- /dev/null +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml @@ -0,0 +1,37 @@ +version: 0.4 +name: memtier_benchmark-1key-100MB-string-bitfield +description: Runs memtier_benchmark, for a keyspace length of 1 key with a data size of 100MB for the key. The motivation for BITFIELD is to be able to pack many small integers in a large bitmat. Perform GET, SET and INCRBY using the BITFIELD command with random bit offsets. Since the bit offsets may be up to and including 100000000, some operations may result in enlarging the string (which is OK). +dbconfig: + configuration-parameters: + save: '""' + preload_tool: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: --data-size 100000000 -n 1 --command "SET key1 __data__" -c 1 -t 1 --hide-histogram +tested-commands: +- get +redis-topologies: +- oss-standalone +build-variants: +- gcc:8.5.0-amd64-debian-buster-default +clientconfig: + run_image: redislabs/memtier_benchmark:edge + tool: memtier_benchmark + arguments: --command "BITFIELD key1 INCRBY i5 __key__ 1 GET u4 __key__ SET i8 __key__ 1" --key-maximum 100000000 --command-key-pattern="R" --key-prefix "" -c 2 -t 2 --hide-histogram --test-time 180 + resources: + requests: + cpus: '2' + memory: 2g +exporter: + redistimeseries: + break_by: + - version + - commit + timemetric: $."ALL STATS".Runtime."Start time" + metrics: + - $."ALL STATS".Totals."Ops/sec" + - $."ALL STATS".Totals."Latency" + - $."ALL STATS".Totals."Misses/sec" + - $."ALL STATS".Totals."Percentile Latencies"."p50.00" +tested-groups: +- string From 85e44f77403d2d8d3126e0df256c4461c9d90867 Mon Sep 17 00:00:00 2001 From: Martin Dimitrov Date: Thu, 15 Dec 2022 13:33:28 -0700 Subject: [PATCH 2/2] fixed test command and group in memtier_benchmark-1key-100MB-string-bitfield.yml --- .../memtier_benchmark-1key-100MB-string-bitfield.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml index b554d3c8..a1cb6bdc 100644 --- a/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml +++ b/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100MB-string-bitfield.yml @@ -9,7 +9,7 @@ dbconfig: tool: memtier_benchmark arguments: --data-size 100000000 -n 1 --command "SET key1 __data__" -c 1 -t 1 --hide-histogram tested-commands: -- get +- bitfield redis-topologies: - oss-standalone build-variants: @@ -34,4 +34,4 @@ exporter: - $."ALL STATS".Totals."Misses/sec" - $."ALL STATS".Totals."Percentile Latencies"."p50.00" tested-groups: -- string +- bitmap