redis-benchmarks-specification 0.2.16__py3-none-any.whl → 0.2.17__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.
- redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +57 -0
- redis_benchmarks_specification/setups/topologies/topologies.yml +3 -3
- redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setget200c-1KiB-pipeline-10.yml +1 -1
- {redis_benchmarks_specification-0.2.16.dist-info → redis_benchmarks_specification-0.2.17.dist-info}/METADATA +1 -1
- {redis_benchmarks_specification-0.2.16.dist-info → redis_benchmarks_specification-0.2.17.dist-info}/RECORD +8 -8
- {redis_benchmarks_specification-0.2.16.dist-info → redis_benchmarks_specification-0.2.17.dist-info}/LICENSE +0 -0
- {redis_benchmarks_specification-0.2.16.dist-info → redis_benchmarks_specification-0.2.17.dist-info}/WHEEL +0 -0
- {redis_benchmarks_specification-0.2.16.dist-info → redis_benchmarks_specification-0.2.17.dist-info}/entry_points.txt +0 -0
|
@@ -1630,6 +1630,34 @@ def process_self_contained_coordinator_stream(
|
|
|
1630
1630
|
f"Started container {container.name} ({container.id[:12]}) with {container_timeout}s timeout"
|
|
1631
1631
|
)
|
|
1632
1632
|
|
|
1633
|
+
# Apply CPU affinity using taskset to force client processes to use assigned cores
|
|
1634
|
+
try:
|
|
1635
|
+
container_info = docker_client.api.inspect_container(container.id)
|
|
1636
|
+
container_pid = container_info['State']['Pid']
|
|
1637
|
+
|
|
1638
|
+
logging.info(f"Setting CPU affinity for client container PID {container_pid} to cores {client_cpuset_cpus}")
|
|
1639
|
+
|
|
1640
|
+
# Set CPU affinity for the main process and all its threads
|
|
1641
|
+
subprocess.run(f"taskset -cp {client_cpuset_cpus} {container_pid}", shell=True, check=True)
|
|
1642
|
+
|
|
1643
|
+
# Wait a moment for client to start its threads, then set affinity for all child processes
|
|
1644
|
+
time.sleep(1)
|
|
1645
|
+
result = subprocess.run(f"pgrep -P {container_pid}", shell=True, capture_output=True, text=True)
|
|
1646
|
+
if result.returncode == 0:
|
|
1647
|
+
child_pids = result.stdout.strip().split('\n')
|
|
1648
|
+
for child_pid in child_pids:
|
|
1649
|
+
if child_pid.strip():
|
|
1650
|
+
try:
|
|
1651
|
+
subprocess.run(f"taskset -cp {client_cpuset_cpus} {child_pid.strip()}", shell=True, check=True)
|
|
1652
|
+
logging.info(f"Set CPU affinity for client child process {child_pid.strip()}")
|
|
1653
|
+
except subprocess.CalledProcessError:
|
|
1654
|
+
pass # Child process may have exited
|
|
1655
|
+
|
|
1656
|
+
logging.info(f"✅ Applied CPU affinity to client container and all child processes")
|
|
1657
|
+
|
|
1658
|
+
except Exception as e:
|
|
1659
|
+
logging.warning(f"Failed to set CPU affinity for client container: {e}")
|
|
1660
|
+
|
|
1633
1661
|
# Wait for container with timeout
|
|
1634
1662
|
try:
|
|
1635
1663
|
result = container.wait(
|
|
@@ -2277,6 +2305,35 @@ def start_redis_container(
|
|
|
2277
2305
|
publish_all_ports=True,
|
|
2278
2306
|
)
|
|
2279
2307
|
time.sleep(5)
|
|
2308
|
+
|
|
2309
|
+
# Apply CPU affinity using taskset to force Redis processes to use assigned cores
|
|
2310
|
+
try:
|
|
2311
|
+
container_info = docker_client.api.inspect_container(redis_container.id)
|
|
2312
|
+
container_pid = container_info['State']['Pid']
|
|
2313
|
+
|
|
2314
|
+
logging.info(f"Setting CPU affinity for Redis container PID {container_pid} to cores {db_cpuset_cpus}")
|
|
2315
|
+
|
|
2316
|
+
# Set CPU affinity for the main Redis process and all its threads
|
|
2317
|
+
subprocess.run(f"taskset -cp {db_cpuset_cpus} {container_pid}", shell=True, check=True)
|
|
2318
|
+
|
|
2319
|
+
# Wait a moment for Redis to start its IO threads, then set affinity for all Redis processes
|
|
2320
|
+
time.sleep(2)
|
|
2321
|
+
result = subprocess.run(f"pgrep -P {container_pid}", shell=True, capture_output=True, text=True)
|
|
2322
|
+
if result.returncode == 0:
|
|
2323
|
+
child_pids = result.stdout.strip().split('\n')
|
|
2324
|
+
for child_pid in child_pids:
|
|
2325
|
+
if child_pid.strip():
|
|
2326
|
+
try:
|
|
2327
|
+
subprocess.run(f"taskset -cp {db_cpuset_cpus} {child_pid.strip()}", shell=True, check=True)
|
|
2328
|
+
logging.info(f"Set CPU affinity for Redis child process {child_pid.strip()}")
|
|
2329
|
+
except subprocess.CalledProcessError:
|
|
2330
|
+
pass # Child process may have exited
|
|
2331
|
+
|
|
2332
|
+
logging.info(f"✅ Applied CPU affinity to Redis container and all child processes")
|
|
2333
|
+
|
|
2334
|
+
except Exception as e:
|
|
2335
|
+
logging.warning(f"Failed to set CPU affinity for Redis container: {e}")
|
|
2336
|
+
|
|
2280
2337
|
redis_containers.append(redis_container)
|
|
2281
2338
|
return redis_container
|
|
2282
2339
|
|
|
@@ -26,7 +26,7 @@ spec:
|
|
|
26
26
|
redis_topology:
|
|
27
27
|
primaries: 1
|
|
28
28
|
replicas: 0
|
|
29
|
-
redis_arguments: --io-threads 2 --io-threads-do-reads yes
|
|
29
|
+
redis_arguments: --io-threads 2 --io-threads-do-reads yes --server-cpulist 0,1
|
|
30
30
|
resources:
|
|
31
31
|
requests:
|
|
32
32
|
cpus: "3"
|
|
@@ -37,7 +37,7 @@ spec:
|
|
|
37
37
|
redis_topology:
|
|
38
38
|
primaries: 1
|
|
39
39
|
replicas: 0
|
|
40
|
-
redis_arguments: --io-threads 4 --io-threads-do-reads yes
|
|
40
|
+
redis_arguments: --io-threads 4 --io-threads-do-reads yes --server-cpulist 0,1,2,3
|
|
41
41
|
resources:
|
|
42
42
|
requests:
|
|
43
43
|
cpus: "5"
|
|
@@ -48,7 +48,7 @@ spec:
|
|
|
48
48
|
redis_topology:
|
|
49
49
|
primaries: 1
|
|
50
50
|
replicas: 0
|
|
51
|
-
redis_arguments: --io-threads 8 --io-threads-do-reads yes
|
|
51
|
+
redis_arguments: --io-threads 8 --io-threads-do-reads yes --server-cpulist 0,1,2,3,4,5,6,7
|
|
52
52
|
resources:
|
|
53
53
|
requests:
|
|
54
54
|
cpus: "9"
|
|
@@ -24,10 +24,10 @@ tested-commands:
|
|
|
24
24
|
tested-groups:
|
|
25
25
|
- string
|
|
26
26
|
redis-topologies:
|
|
27
|
-
- oss-standalone
|
|
28
27
|
- oss-standalone-08-io-threads
|
|
29
28
|
- oss-standalone-04-io-threads
|
|
30
29
|
- oss-standalone-02-io-threads
|
|
30
|
+
- oss-standalone
|
|
31
31
|
build-variants:
|
|
32
32
|
- gcc:15.2.0-amd64-debian-bookworm-default
|
|
33
33
|
- gcc:15.2.0-arm64-debian-bookworm-default
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redis-benchmarks-specification
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.17
|
|
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
|
|
@@ -37,7 +37,7 @@ redis_benchmarks_specification/__self_contained_coordinator__/docker.py,sha256=e
|
|
|
37
37
|
redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py,sha256=sVLKNnWdAqYY9DjVdqRC5tDaIrVSaI3Ca7w8-DQ-LRM,776
|
|
38
38
|
redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py,sha256=VYGwUiIV382AjXTeYTOImPENzw2zf2VPQM2HvaZgE_M,3368
|
|
39
39
|
redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=kpSNvliGOEBUa8aXXk9M1rb5jKmBI6QqC0znf2lz0kw,34110
|
|
40
|
-
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=
|
|
40
|
+
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=bGQ1-zrh0z4PTnwUH2NIE7FzqIay9OcCyhUmHCJkDsw,118580
|
|
41
41
|
redis_benchmarks_specification/__setups__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
42
|
redis_benchmarks_specification/__setups__/topologies.py,sha256=xQ1IJkcTji_ZjLiJd3vOxZpvbNtBLZw9cPkw5hGJKHU,481
|
|
43
43
|
redis_benchmarks_specification/__spec__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
@@ -51,7 +51,7 @@ redis_benchmarks_specification/commands/commands.py,sha256=hJbKkGzAFt_l40fJyQLfB
|
|
|
51
51
|
redis_benchmarks_specification/setups/builders/gcc:15.2.0-amd64-debian-bookworm-default.yml,sha256=UobsjPRRQALKNvAkOqvYJJs8HLrlG9AbfJwuIkLpwHU,528
|
|
52
52
|
redis_benchmarks_specification/setups/builders/gcc:15.2.0-arm64-debian-bookworm-default.yml,sha256=zexg-qwlrdjNEsJDigcwQgm-CluwtrWHPygvXzv0wwo,528
|
|
53
53
|
redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml,sha256=l7HsjccpebwZXeutnt3SHSETw4iiRwQ9dCDXLOySSRQ,622
|
|
54
|
-
redis_benchmarks_specification/setups/topologies/topologies.yml,sha256=
|
|
54
|
+
redis_benchmarks_specification/setups/topologies/topologies.yml,sha256=acjn-N2X24FRrHDf-ICWujZ83S4OWIehBPZUj4srZu4,3340
|
|
55
55
|
redis_benchmarks_specification/test-suites/defaults.yml,sha256=EJHv9INdjoNVMOgHY8qo4IVCHfvXVz5sv7Vxtr3DAIE,1392
|
|
56
56
|
redis_benchmarks_specification/test-suites/generate.py,sha256=1QJBuWiouJ5OLil_r4OMG_UtZkmA8TLcyPlQAUuxCUw,4175
|
|
57
57
|
redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml,sha256=BYmI-u_QEoSVXczuWPIaoCU_IQdhPrNCdXj8SO4s60g,2317
|
|
@@ -163,7 +163,7 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed
|
|
|
163
163
|
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-with-expiration-240B-400_conns.yml,sha256=1YIVXSLRytR9-QIayu6jCxnFd1KJlY8o0rwJYT28Hx8,1549
|
|
164
164
|
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10.yml,sha256=5C2S9LpQDH-_IpjWwYH9tCnK0jvm9pZdlnyGmJMA9gc,1300
|
|
165
165
|
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml,sha256=NE5oujnTwuHINrlvHBjMEFSKY_iwKimAvq4twnYfmXI,1297
|
|
166
|
-
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setget200c-1KiB-pipeline-10.yml,sha256=
|
|
166
|
+
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setget200c-1KiB-pipeline-10.yml,sha256=Qt6ReUnzFmnfesvLx3h-vFPwpWoisIjW7y0e9acDnIA,1368
|
|
167
167
|
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml,sha256=h6haEl469vZSnp9LTB3wds12EwGfyNSEm1iqXxh72s8,1329
|
|
168
168
|
redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B.yml,sha256=Wg8joxF6TuCOyQbC4CpW8LTx49PpIAKvNhtwqJpX95k,1303
|
|
169
169
|
redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml,sha256=I4fNkW8P-tVpkkfep8gcPeQ6BgPlZnG4EAytvtxU1hU,1498
|
|
@@ -287,8 +287,8 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-st
|
|
|
287
287
|
redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml,sha256=2egtIxPxCze2jlbAfgsk4v9JSQHNMoPLbDWFEW8olDg,7006
|
|
288
288
|
redis_benchmarks_specification/test-suites/template.txt,sha256=ezqGiRPOvuSDO0iG7GEf-AGXNfHbgXI89_G0RUEzL88,481
|
|
289
289
|
redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml,sha256=PD7ow-k4Ll2BkhEC3aIqiaCZt8Hc4aJIp96Lw3J3mcI,791
|
|
290
|
-
redis_benchmarks_specification-0.2.
|
|
291
|
-
redis_benchmarks_specification-0.2.
|
|
292
|
-
redis_benchmarks_specification-0.2.
|
|
293
|
-
redis_benchmarks_specification-0.2.
|
|
294
|
-
redis_benchmarks_specification-0.2.
|
|
290
|
+
redis_benchmarks_specification-0.2.17.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
291
|
+
redis_benchmarks_specification-0.2.17.dist-info/METADATA,sha256=G1eTBdhG0ebfNsFdOqQdMufhDzEmGAkvnhnsahvB94w,22767
|
|
292
|
+
redis_benchmarks_specification-0.2.17.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
293
|
+
redis_benchmarks_specification-0.2.17.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
|
|
294
|
+
redis_benchmarks_specification-0.2.17.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|