redis-benchmarks-specification 0.2.7__py3-none-any.whl → 0.2.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of redis-benchmarks-specification might be problematic. Click here for more details.

@@ -0,0 +1,98 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-playbook-rate-limiting-lua-100k-sessions
3
+ description: |
4
+ Runs memtier_benchmark to simulate **API rate limiting** using Redis with an atomic Lua script.
5
+ Each user has a dedicated key in the form `ratelimit:user-<id>:/api/resource`, which tracks
6
+ request counts under a **fixed time window** (e.g., 100 requests per 60 seconds).
7
+
8
+ The benchmark uses a Lua script to atomically enforce quotas:
9
+
10
+ local key = KEYS[1]
11
+ local limit = 100
12
+ local window = 60
13
+ local current = redis.call("INCR", key)
14
+ if current == 1 then
15
+ redis.call("EXPIRE", key, window)
16
+ end
17
+ if current > limit then
18
+ return 0
19
+ else
20
+ return 1
21
+ end
22
+
23
+ This approach ensures that **increments, expiry, and limit checks** are performed without race conditions,
24
+ accurately modeling production-grade API quota enforcement.
25
+
26
+ ### Workload profile
27
+ - **Command tested**: `EVAL` (rate-limit script)
28
+ - **Keyspace size**: 100k user-level rate-limit keys
29
+ - **Access pattern**: randomized keys (`--command-key-pattern=R`) to simulate distributed users
30
+ - **Response shape**: single integer (1 = allowed, 0 = denied), representing pass/fail on quota checks
31
+
32
+ This benchmark measures Redis performance in **rate limiting scenarios**, where atomic counters and TTLs
33
+ are critical for API protection and fairness in multi-tenant SaaS workloads.
34
+
35
+ exporter:
36
+ redistimeseries:
37
+ break_by:
38
+ - version
39
+ - commit
40
+ timemetric: $."ALL STATS".Runtime."Start time"
41
+ metrics:
42
+ - $."BEST RUN RESULTS".Totals."Ops/sec"
43
+ - $."BEST RUN RESULTS".Totals."Latency"
44
+ - $."BEST RUN RESULTS".Totals."Misses/sec"
45
+ - $."BEST RUN RESULTS".Totals."Percentile Latencies"."p50.00"
46
+ - $."BEST RUN RESULTS".Totals."Percentile Latencies"."p99.00"
47
+ - $."ALL STATS".Evals."Ops/sec"
48
+ - $."ALL STATS".Totals."Ops/sec"
49
+ - $."ALL STATS".Totals."Latency"
50
+ - $."ALL STATS".Totals."Misses/sec"
51
+ - $."ALL STATS".Totals."Percentile Latencies"."p50.00"
52
+ - $."ALL STATS".Totals."Percentile Latencies"."p99.00"
53
+
54
+
55
+ dbconfig:
56
+ configuration-parameters:
57
+ save: '""'
58
+ resources:
59
+ requests:
60
+ memory: 1g
61
+ tested-groups:
62
+ - hash
63
+ - sorted-set
64
+ - set
65
+ - scripting
66
+
67
+ tested-commands:
68
+ - incr
69
+ - expire
70
+ - eval
71
+
72
+ redis-topologies:
73
+ - oss-standalone
74
+ build-variants:
75
+ - gcc:15.2.0-amd64-debian-bookworm-default
76
+ - gcc:15.2.0-arm64-debian-bookworm-default
77
+ - dockerhub
78
+
79
+ clientconfig:
80
+ run_image: redislabs/memtier_benchmark:edge
81
+ tool: memtier_benchmark
82
+ arguments: >
83
+ --key-prefix ""
84
+ --key-minimum 1
85
+ --key-maximum 100000
86
+ --pipeline=1
87
+ --print-percentiles=50,90,95,99
88
+ --run-count=1
89
+ --test-time=120
90
+ --command='EVAL "local key=KEYS[1];local limit=10;local window=60;local current=redis.call(\"INCR\",key);if current==1 then redis.call(\"EXPIRE\",key,window) end;if current>limit then return 0 else return 1 end" 1 ratelimit:user-__key__:/api/resource'
91
+ --command-key-pattern=R
92
+ --hide-histogram
93
+ resources:
94
+ requests:
95
+ cpus: '4'
96
+ memory: 2g
97
+
98
+ priority: 150
@@ -0,0 +1,55 @@
1
+ version: 0.4
2
+ name: memtier_benchmark-playbook-realtime-analytics-membership-pipeline-10
3
+ description: 'This benchmark captures the performance of Redis under realistic **membership analytics** workloads, where frequent set algebra operations (intersection, union, difference) drive personalization, segmentation, and eligibility checks.'
4
+ dbconfig:
5
+ configuration-parameters:
6
+ save: '""'
7
+ check:
8
+ keyspacelen: 2
9
+ resources:
10
+ requests:
11
+ memory: 1g
12
+ init_commands:
13
+ - '"SADD" "set:{org1}:10" "lysbgqqfqw" "mtccjerdon" "jekkafodvk" "nmgxcctxpn" "vyqqkuszzh"
14
+ "pytrnqdhvs" "oguwnmniig" "gekntrykfh" "nhfnbxqgol" "cgoeihlnei"'
15
+ - '"SADD" "set:{org1}:100" "vyoomgwuzv" "xamjodnbpf" "ewomnmugfa" "ljcgdooafo" "pcxdhdjwnf"
16
+ "djetcyfxuc" "licotqplim" "alqlzsvuuz" "ijsmoyesvd" "whmotknaff" "rkaznetutk"
17
+ "ksqpdywgdd" "gorgpnnqwr" "gekntrykfh" "rjkknoigmu" "luemuetmia" "gxephxbdru"
18
+ "ncjfckgkcl" "hhjclfbbka" "cgoeihlnei" "zwnitejtpg" "upodnpqenn" "mibvtmqxcy"
19
+ "htvbwmfyic" "rqvryfvlie" "nxcdcaqgit" "gfdqdrondm" "lysbgqqfqw" "nxzsnkmxvi"
20
+ "nsxaigrnje" "cwaveajmcz" "xsepfhdizi" "owtkxlzaci" "agsdggdghc" "tcjvjofxtd"
21
+ "kgqrovsxce" "ouuybhtvyb" "ueyrvldzwl" "vpbkvwgxsf" "pytrnqdhvs" "qbiwbqiubb"
22
+ "ssjqrsluod" "urvgxwbiiz" "ujrxcmpvsq" "mtccjerdon" "xczfmrxrja" "imyizmhzjk"
23
+ "oguwnmniig" "mxwgdcutnb" "pqyurbvifk" "ccagtnjilc" "mbxohpancs" "lgrkndhekf"
24
+ "eqlgkwosie" "jxoxtnzujs" "lbtpbknelm" "ichqzmiyot" "mbgehjiauu" "aovfsvbwjg"
25
+ "nmgxcctxpn" "vyqqkuszzh" "rojeolnopp" "ibhohmfxzt" "qbyhorvill" "nhfnbxqgol"
26
+ "wkbasfyzqz" "mjjuylgssm" "imdqxmkzdj" "oapbvnisyq" "bqntlsaqjb" "ocrcszcznp"
27
+ "hhniikmtsx" "hlpdstpvzw" "wqiwdbncmt" "vymjzlzqcn" "hhjchwjlmc" "ypfeltycpy"
28
+ "qjyeqcfhjj" "uapsgmizgh" "owbbdezgxn" "qrosceblyo" "sahqeskveq" "dapacykoah"
29
+ "wvcnqbvlnf" "perfwnpvkl" "ulbrotlhze" "fhuvzpxjbc" "holjcdpijr" "onzjrteqmu"
30
+ "pquewclxuy" "vpmpffdoqz" "eouliovvra" "vxcbagyymm" "jekkafodvk" "ypekeuutef"
31
+ "dlbqcynhrn" "erxulvebrj" "qwxrsgafzy" "dlsjwmqzhx" "exvhmqxvvp"'
32
+ dataset_name: 2keys-set-10-100-elements-org1
33
+ dataset_description: This dataset contains 2 set keys, one with 10 elements and
34
+ the other with 100 elements. The smaller set is a subset of the larger one.
35
+ tested-commands:
36
+ - smembers
37
+ - sdiff
38
+ redis-topologies:
39
+ - oss-standalone
40
+ build-variants:
41
+ - gcc:15.2.0-amd64-debian-bookworm-default
42
+ - gcc:15.2.0-arm64-debian-bookworm-default
43
+ - dockerhub
44
+ clientconfig:
45
+ run_image: redislabs/memtier_benchmark:edge
46
+ tool: memtier_benchmark
47
+ arguments: --command="SDIFF set:{org1}:100 set:{org1}:10" --command "SMEMBERS set:{org1}:100" --command
48
+ "SMEMBERS set:{org1}:10" --command "SUNION set:{org1}:100 set:{org1}:10" --hide-histogram --test-time 180 --pipeline 10
49
+ resources:
50
+ requests:
51
+ cpus: '4'
52
+ memory: 2g
53
+ tested-groups:
54
+ - set
55
+ priority: 131
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redis-benchmarks-specification
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: 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.
5
5
  Author: filipecosta90
6
6
  Author-email: filipecosta.90@gmail.com
@@ -277,6 +277,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed
277
277
  redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers.yml,sha256=8M9AdpNaVBuSUm78cqKModOF_xITV_RM7RLCTyvtvaQ,825
278
278
  redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-server-time-pipeline-10.yml,sha256=zeTHtpbhNGfzTXHfr9P5e62PebxUONRvTsCbXJZhsTs,721
279
279
  redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-leaderboard.yml,sha256=YZTgci8gAfGxTDAM-GHMn_w4hqeNoS4Yi6FYX9JyCt0,6690
280
+ redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-rate-limiting-lua-100k-sessions.yml,sha256=zyRjf6Y-XPL1RkCtIxMiwaAsq9fkViPLJADnlm_tXio,3072
281
+ redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-realtime-analytics-membership-pipeline-10.yml,sha256=uh0J81Y27_YnQfDqzaTpYtJNvIdRFJtYsBUmXGTBrl4,2842
280
282
  redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-realtime-analytics-membership.yml,sha256=y_q6GWbodKpVA48o1a1frqF0bU52utIOnjIjuiQt0qk,2816
281
283
  redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-hash-100k-sessions.yml,sha256=H98DrXlq-lRhoe1M7vehfDBbUdZ7WwWroriTpklx-PI,3646
282
284
  redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-json-100k-sessions.yml,sha256=MDvxjvFvIv_vnbeon8AEOd0XNouqGNhwer3JN_Vzi9c,3858
@@ -285,8 +287,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-st
285
287
  redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml,sha256=2egtIxPxCze2jlbAfgsk4v9JSQHNMoPLbDWFEW8olDg,7006
286
288
  redis_benchmarks_specification/test-suites/template.txt,sha256=ezqGiRPOvuSDO0iG7GEf-AGXNfHbgXI89_G0RUEzL88,481
287
289
  redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml,sha256=PD7ow-k4Ll2BkhEC3aIqiaCZt8Hc4aJIp96Lw3J3mcI,791
288
- redis_benchmarks_specification-0.2.7.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
289
- redis_benchmarks_specification-0.2.7.dist-info/METADATA,sha256=1gVAdZEsUt6ByQ202Sbzmb0Ykqyp5-v0_csUWdw72zI,22766
290
- redis_benchmarks_specification-0.2.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
291
- redis_benchmarks_specification-0.2.7.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
292
- redis_benchmarks_specification-0.2.7.dist-info/RECORD,,
290
+ redis_benchmarks_specification-0.2.9.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
291
+ redis_benchmarks_specification-0.2.9.dist-info/METADATA,sha256=Vq1sm7xrOs4XePn-d58jGe_ZRGoW5ATpor_J22BwIGQ,22766
292
+ redis_benchmarks_specification-0.2.9.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
293
+ redis_benchmarks_specification-0.2.9.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
294
+ redis_benchmarks_specification-0.2.9.dist-info/RECORD,,