redis-benchmarks-specification 0.2.18__tar.gz → 0.2.19__tar.gz

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.

Files changed (293) hide show
  1. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/PKG-INFO +1 -1
  2. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/pyproject.toml +1 -1
  3. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/args.py +6 -0
  4. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +136 -107
  5. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/setups/topologies/topologies.yml +9 -9
  6. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/LICENSE +0 -0
  7. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/Readme.md +0 -0
  8. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__api__/Readme.md +0 -0
  9. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__api__/__init__.py +0 -0
  10. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__api__/api.py +0 -0
  11. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__api__/app.py +0 -0
  12. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__builder__/Readme.md +0 -0
  13. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__builder__/__init__.py +0 -0
  14. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__builder__/builder.py +0 -0
  15. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__builder__/schema.py +0 -0
  16. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__cli__/__init__.py +0 -0
  17. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__cli__/args.py +0 -0
  18. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__cli__/cli.py +0 -0
  19. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__cli__/stats.py +0 -0
  20. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/__init__.py +0 -0
  21. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/builder_schema.py +0 -0
  22. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/env.py +0 -0
  23. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/github.py +0 -0
  24. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/package.py +0 -0
  25. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/runner.py +0 -0
  26. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/spec.py +0 -0
  27. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/suppress_warnings.py +0 -0
  28. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__common__/timeseries.py +0 -0
  29. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__compare__/__init__.py +0 -0
  30. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__compare__/args.py +0 -0
  31. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__compare__/compare.py +0 -0
  32. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__init__.py +0 -0
  33. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__runner__/__init__.py +0 -0
  34. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__runner__/args.py +0 -0
  35. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__runner__/remote_profiling.py +0 -0
  36. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__runner__/runner.py +0 -0
  37. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/__init__.py +0 -0
  38. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py +0 -0
  39. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/build_info.py +0 -0
  40. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/clients.py +0 -0
  41. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py +0 -0
  42. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/docker.py +0 -0
  43. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/post_processing.py +0 -0
  44. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py +0 -0
  45. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__self_contained_coordinator__/runners.py +0 -0
  46. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__setups__/__init__.py +0 -0
  47. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__setups__/topologies.py +0 -0
  48. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__spec__/__init__.py +0 -0
  49. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__spec__/args.py +0 -0
  50. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__spec__/cli.py +0 -0
  51. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__watchdog__/__init__.py +0 -0
  52. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__watchdog__/args.py +0 -0
  53. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/__watchdog__/watchdog.py +0 -0
  54. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/commands/__init__.py +0 -0
  55. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/commands/commands.py +0 -0
  56. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/setups/builders/gcc:15.2.0-amd64-debian-bookworm-default.yml +0 -0
  57. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/setups/builders/gcc:15.2.0-arm64-debian-bookworm-default.yml +0 -0
  58. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml +0 -0
  59. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/defaults.yml +0 -0
  60. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/generate.py +0 -0
  61. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-hash-hgetall-50-fields-100B-values.yml +0 -0
  62. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-20-fields-with-1B-values-pipeline-30.yml +0 -0
  63. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-1000B-values.yml +0 -0
  64. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-100B-values.yml +0 -0
  65. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-100Kkeys-load-hash-50-fields-with-10B-values.yml +0 -0
  66. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-hash-50-fields-with-10000B-values.yml +0 -0
  67. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-rpush-bulkload-pipeline-50.yml +0 -0
  68. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Kkeys-load-list-with-10B-values-pipeline-50.yml +0 -0
  69. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values-pipeline-10.yml +0 -0
  70. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-100B-values.yml +0 -0
  71. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values-pipeline-10.yml +0 -0
  72. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-10B-values.yml +0 -0
  73. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml +0 -0
  74. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Kkeys-hash-listpack-500-fields-update-20-fields-with-1B-to-64B-values.yml +0 -0
  75. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-100B-expire-use-case.yml +0 -0
  76. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-expire-use-case.yml +0 -0
  77. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-psetex-expire-use-case.yml +0 -0
  78. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-10B-setex-expire-use-case.yml +0 -0
  79. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-1KiB-expire-use-case.yml +0 -0
  80. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-4KiB-expire-use-case.yml +0 -0
  81. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-bitmap-getbit-pipeline-10.yml +0 -0
  82. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-exists-pipeline-10.yml +0 -0
  83. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expire-pipeline-10.yml +0 -0
  84. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-expireat-pipeline-10.yml +0 -0
  85. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-pexpire-pipeline-10.yml +0 -0
  86. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-count-500-pipeline-10.yml +0 -0
  87. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-500-pipeline-10.yml +0 -0
  88. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-count-5000-pipeline-10.yml +0 -0
  89. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-cursor-pipeline-10.yml +0 -0
  90. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-pipeline-10.yml +0 -0
  91. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-scan-type-pipeline-10.yml +0 -0
  92. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-touch-pipeline-10.yml +0 -0
  93. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-generic-ttl-pipeline-10.yml +0 -0
  94. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hexists.yml +0 -0
  95. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hget-hgetall-hkeys-hvals-with-100B-values.yml +0 -0
  96. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hgetall-50-fields-10B-values.yml +0 -0
  97. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrby.yml +0 -0
  98. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hincrbyfloat.yml +0 -0
  99. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-hmget-5-fields-with-100B-values-pipeline-10.yml +0 -0
  100. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-hash-transactions-multi-exec-pipeline-20.yml +0 -0
  101. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-100B-values.yml +0 -0
  102. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-10B-values.yml +0 -0
  103. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-lpop-rpop-with-1KiB-values.yml +0 -0
  104. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-list-rpoplpush-with-10B-values.yml +0 -0
  105. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml +0 -0
  106. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-5-fields-with-1000B-values.yml +0 -0
  107. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-hash-hmset-5-fields-with-1000B-values.yml +0 -0
  108. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-rpush-with-10B-values.yml +0 -0
  109. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-100B-values.yml +0 -0
  110. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values-pipeline-10.yml +0 -0
  111. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-10B-values.yml +0 -0
  112. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-list-with-1KiB-values.yml +0 -0
  113. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-19-digits-pipeline-10.yml +0 -0
  114. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-19-digits.yml +0 -0
  115. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements-pipeline-10.yml +0 -0
  116. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-set-intset-with-100-elements.yml +0 -0
  117. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values-pipeline-10.yml +0 -0
  118. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-1-fields-with-100B-values.yml +0 -0
  119. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values-pipeline-10.yml +0 -0
  120. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-stream-5-fields-with-100B-values.yml +0 -0
  121. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values-pipeline-10.yml +0 -0
  122. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-100B-values.yml +0 -0
  123. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-10.yml +0 -0
  124. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100-nokeyprefix.yml +0 -0
  125. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-100.yml +0 -0
  126. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-50.yml +0 -0
  127. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values-pipeline-500.yml +0 -0
  128. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-10B-values.yml +0 -0
  129. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values-pipeline-10.yml +0 -0
  130. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-1KiB-values.yml +0 -0
  131. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-string-with-20KiB-values.yml +0 -0
  132. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-listpack-with-100-elements-double-score.yml +0 -0
  133. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-double-score.yml +0 -0
  134. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-load-zset-with-10-elements-int-score.yml +0 -0
  135. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B-pipeline-10.yml +0 -0
  136. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-append-1-100B.yml +0 -0
  137. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-decr.yml +0 -0
  138. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B-pipeline-10.yml +0 -0
  139. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-100B.yml +0 -0
  140. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-10.yml +0 -0
  141. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100-nokeyprefix.yml +0 -0
  142. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-100.yml +0 -0
  143. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-50.yml +0 -0
  144. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B-pipeline-500.yml +0 -0
  145. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-10B.yml +0 -0
  146. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB-pipeline-10.yml +0 -0
  147. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-1KiB.yml +0 -0
  148. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B-pipeline-10.yml +0 -0
  149. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-get-32B.yml +0 -0
  150. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incr-pipeline-10.yml +0 -0
  151. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby-pipeline-10.yml +0 -0
  152. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrby.yml +0 -0
  153. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat-pipeline-10.yml +0 -0
  154. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-incrbyfloat.yml +0 -0
  155. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-int-encoding-strlen-pipeline-10.yml +0 -0
  156. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mget-1KiB.yml +0 -0
  157. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire-pipeline-10.yml +0 -0
  158. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-expire.yml +0 -0
  159. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B-pipeline-10.yml +0 -0
  160. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-100B.yml +0 -0
  161. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB-pipeline-10.yml +0 -0
  162. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-1KB.yml +0 -0
  163. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B-pipeline-10.yml +0 -0
  164. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-32B.yml +0 -0
  165. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B-pipeline-10.yml +0 -0
  166. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-512B.yml +0 -0
  167. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-mixed-50-50-set-get-with-expiration-240B-400_conns.yml +0 -0
  168. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-set-with-ex-100B-pipeline-10.yml +0 -0
  169. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setex-100B-pipeline-10.yml +0 -0
  170. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setget200c-1KiB-pipeline-10.yml +0 -0
  171. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B-pipeline-10.yml +0 -0
  172. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1Mkeys-string-setrange-100B.yml +0 -0
  173. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-100M-bits-bitmap-bitcount.yml +0 -0
  174. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-1Billion-bits-bitmap-bitcount.yml +0 -0
  175. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geopos.yml +0 -0
  176. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-2-elements-geosearch-fromlonlat-withcoord.yml +0 -0
  177. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist-pipeline-10.yml +0 -0
  178. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geodist.yml +0 -0
  179. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash-pipeline-10.yml +0 -0
  180. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geohash.yml +0 -0
  181. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos-pipeline-10.yml +0 -0
  182. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geopos.yml +0 -0
  183. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-bybox.yml +0 -0
  184. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat-pipeline-10.yml +0 -0
  185. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-geo-60M-elements-geosearch-fromlonlat.yml +0 -0
  186. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-1K-fields-hgetall-pipeline-10.yml +0 -0
  187. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-1K-fields-hgetall.yml +0 -0
  188. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-100B-values-cursor-count-1000.yml +0 -0
  189. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-10B-values-cursor-count-100.yml +0 -0
  190. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-1K-fields-10B-values.yml +0 -0
  191. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-hash-hscan-50-fields-10B-values.yml +0 -0
  192. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements-pipeline-10.yml +0 -0
  193. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10-elements-lrange-all-elements.yml +0 -0
  194. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-int-7bit-uint-lrange-all-elements-pipeline-10.yml +0 -0
  195. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-int-lrange-all-elements-pipeline-10.yml +0 -0
  196. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-llen-pipeline-10.yml +0 -0
  197. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements-pipeline-10.yml +0 -0
  198. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-100-elements-lrange-all-elements.yml +0 -0
  199. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-integer.yml +0 -0
  200. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string-pipeline-10.yml +0 -0
  201. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lindex-string.yml +0 -0
  202. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-integer.yml +0 -0
  203. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-linsert-lrem-string.yml +0 -0
  204. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-integer.yml +0 -0
  205. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-10K-elements-lpos-string.yml +0 -0
  206. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements-pipeline-10.yml +0 -0
  207. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-1K-elements-lrange-all-elements.yml +0 -0
  208. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-list-2K-elements-quicklist-lrange-all-elements-longs.yml +0 -0
  209. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-hash-1K-fields-with-5B-values.yml +0 -0
  210. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-zset-with-5-elements-parsing-float-score.yml +0 -0
  211. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-load-zset-with-5-elements-parsing-hexa-score.yml +0 -0
  212. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-pfadd-4KB-values-pipeline-10.yml +0 -0
  213. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers-pipeline-10.yml +0 -0
  214. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smembers.yml +0 -0
  215. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10-elements-smismember.yml +0 -0
  216. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-is-a-member.yml +0 -0
  217. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sismember-not-a-member.yml +0 -0
  218. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smembers.yml +0 -0
  219. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-smismember.yml +0 -0
  220. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-100-elements-sscan.yml +0 -0
  221. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-sismember-50pct-chance.yml +0 -0
  222. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-10M-elements-srem-50pct-chance.yml +0 -0
  223. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-smembers.yml +0 -0
  224. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-sscan-cursor-count-100.yml +0 -0
  225. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1K-elements-sscan.yml +0 -0
  226. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-1M-elements-sismember-50pct-chance.yml +0 -0
  227. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-200K-elements-sadd-constant.yml +0 -0
  228. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-set-2M-elements-sadd-increasing.yml +0 -0
  229. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zincrby-1M-elements-pipeline-1.yml +0 -0
  230. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-100K-elements-pipeline-1.yml +0 -0
  231. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-10M-elements-pipeline-1.yml +0 -0
  232. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrank-1M-elements-pipeline-1.yml +0 -0
  233. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrem-5M-elements-pipeline-1.yml +0 -0
  234. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-1.yml +0 -0
  235. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrangebyscore-256K-elements-pipeline-10.yml +0 -0
  236. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zrevrank-1M-elements-pipeline-1.yml +0 -0
  237. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements-long-scores.yml +0 -0
  238. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-10-elements-zrange-all-elements.yml +0 -0
  239. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrange-all-elements.yml +0 -0
  240. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements-long-scores.yml +0 -0
  241. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zrangebyscore-all-elements.yml +0 -0
  242. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-100-elements-zscan.yml +0 -0
  243. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zrange-all-elements.yml +0 -0
  244. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1K-elements-zscan.yml +0 -0
  245. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zcard-pipeline-10.yml +0 -0
  246. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zremrangebyscore-pipeline-10.yml +0 -0
  247. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-5-elements.yml +0 -0
  248. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zrevrange-withscores-5-elements-pipeline-10.yml +0 -0
  249. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-1M-elements-zscore-pipeline-10.yml +0 -0
  250. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-600K-elements-zrangestore-1K-elements.yml +0 -0
  251. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-600K-elements-zrangestore-300K-elements.yml +0 -0
  252. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-1key-zset-listpack-zrank-100-elements-pipeline-1.yml +0 -0
  253. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-eval-hset-expire.yml +0 -0
  254. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-lua-evalsha-hset-expire.yml +0 -0
  255. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sdiff.yml +0 -0
  256. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sinter.yml +0 -0
  257. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml +0 -0
  258. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml +0 -0
  259. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml +0 -0
  260. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunion.yml +0 -0
  261. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-zset-300-elements-skiplist-encoded-zunionstore.yml +0 -0
  262. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values-pipeline-10.yml +0 -0
  263. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml +0 -0
  264. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-400_conns.yml +0 -0
  265. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-40_conns.yml +0 -0
  266. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-2000_conns.yml +0 -0
  267. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-400_conns.yml +0 -0
  268. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-get-with-1KiB-values-pipeline-10-40_conns.yml +0 -0
  269. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-400_conns.yml +0 -0
  270. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-2000_conns.yml +0 -0
  271. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-400_conns.yml +0 -0
  272. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-20-80-with-512B-values-pipeline-10-5200_conns.yml +0 -0
  273. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-string-mixed-50-50-with-512B-values-with-expiration-pipeline-10-400_conns.yml +0 -0
  274. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello-pipeline-10.yml +0 -0
  275. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-connection-hello.yml +0 -0
  276. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-connection-ping-pipeline-10.yml +0 -0
  277. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-100-subscribers.yml +0 -0
  278. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-1000-subscribers.yml +0 -0
  279. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-5000-subscribers.yml +0 -0
  280. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-mixed-100-channels-128B-100-publishers-50K-subscribers-5k-conns.yml +0 -0
  281. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-pubsub-publish-1K-channels-10B-no-subscribers.yml +0 -0
  282. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-nokeys-server-time-pipeline-10.yml +0 -0
  283. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-leaderboard.yml +0 -0
  284. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-rate-limiting-lua-100k-sessions.yml +0 -0
  285. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-realtime-analytics-membership-pipeline-10.yml +0 -0
  286. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-realtime-analytics-membership.yml +0 -0
  287. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-hash-100k-sessions.yml +0 -0
  288. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-json-100k-sessions.yml +0 -0
  289. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-caching-string-100k-sessions.yml +0 -0
  290. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-100k-sessions.yml +0 -0
  291. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/memtier_benchmark-playbook-session-storage-1k-sessions.yml +0 -0
  292. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/test-suites/template.txt +0 -0
  293. {redis_benchmarks_specification-0.2.18 → redis_benchmarks_specification-0.2.19}/redis_benchmarks_specification/vector-search-test-suites/vector_db_benchmark_test.yml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redis-benchmarks-specification
3
- Version: 0.2.18
3
+ Version: 0.2.19
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "redis-benchmarks-specification"
3
- version = "0.2.18"
3
+ version = "0.2.19"
4
4
  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."
5
5
  authors = ["filipecosta90 <filipecosta.90@gmail.com>","Redis Performance Group <performance@redis.com>"]
6
6
  readme = "Readme.md"
@@ -207,4 +207,10 @@ def create_self_contained_coordinator_args(project_name):
207
207
  action="store_true",
208
208
  help="Skip automatically clearing pending messages and resetting consumer group position on startup. By default, pending messages are cleared and consumer group is reset to latest position to skip old work and recover from crashes.",
209
209
  )
210
+ parser.add_argument(
211
+ "--enable-cpu-distribution",
212
+ default=False,
213
+ action="store_true",
214
+ help="Enable CPU distribution optimization using Docker cpuset_cpus and nano_cpus parameters. This forces better CPU core distribution for Redis and client containers. Disabled by default.",
215
+ )
210
216
  return parser
@@ -772,6 +772,7 @@ def main():
772
772
  priority_upper_limit,
773
773
  default_baseline_branch,
774
774
  default_metrics_str,
775
+ args=args,
775
776
  )
776
777
 
777
778
 
@@ -808,6 +809,7 @@ def self_contained_coordinator_blocking_read(
808
809
  default_metrics_str="ALL_STATS.Totals.Ops/sec",
809
810
  docker_keep_env=False,
810
811
  restore_build_artifacts_default=True,
812
+ args=None,
811
813
  ):
812
814
  num_process_streams = 0
813
815
  num_process_test_suites = 0
@@ -1405,6 +1407,8 @@ def process_self_contained_coordinator_stream(
1405
1407
  redis_containers,
1406
1408
  run_image,
1407
1409
  temporary_dir,
1410
+ auto_remove=False,
1411
+ enable_cpu_distribution=args.enable_cpu_distribution if args else False,
1408
1412
  )
1409
1413
 
1410
1414
  r = redis.StrictRedis(
@@ -1600,63 +1604,72 @@ def process_self_contained_coordinator_stream(
1600
1604
  f"Using default container timeout: {container_timeout}s"
1601
1605
  )
1602
1606
 
1603
- # Calculate nano_cpus for better CPU distribution
1604
- client_cpu_count = len(client_cpuset_cpus.split(','))
1605
- client_nano_cpus = int(client_cpu_count * 1e9) # 1 CPU = 1e9 nano_cpus
1606
-
1607
- logging.info(f"Client container will use {client_cpu_count} CPUs (nano_cpus={client_nano_cpus}) on cores {client_cpuset_cpus}")
1607
+ # Prepare client container arguments
1608
+ client_container_args = {
1609
+ "image": client_container_image,
1610
+ "volumes": {
1611
+ temporary_dir_client: {
1612
+ "bind": client_mnt_point,
1613
+ "mode": "rw",
1614
+ },
1615
+ },
1616
+ "auto_remove": False, # Don't auto-remove so we can get logs if timeout
1617
+ "privileged": True,
1618
+ "working_dir": benchmark_tool_workdir,
1619
+ "command": benchmark_command_str,
1620
+ "network_mode": "host",
1621
+ "detach": True, # Detach to enable timeout
1622
+ }
1623
+
1624
+ # Add CPU distribution settings if enabled
1625
+ enable_cpu_distribution = args.enable_cpu_distribution if args else False
1626
+ if enable_cpu_distribution:
1627
+ client_cpu_count = len(client_cpuset_cpus.split(','))
1628
+ client_nano_cpus = int(client_cpu_count * 1e9) # 1 CPU = 1e9 nano_cpus
1629
+
1630
+ client_container_args["cpuset_cpus"] = client_cpuset_cpus
1631
+ client_container_args["nano_cpus"] = client_nano_cpus
1632
+
1633
+ logging.info(f"Client container will use {client_cpu_count} CPUs (nano_cpus={client_nano_cpus}) on cores {client_cpuset_cpus} [CPU distribution enabled]")
1634
+ else:
1635
+ logging.info(f"Client container will use default CPU allocation [CPU distribution disabled]")
1608
1636
 
1609
1637
  try:
1610
1638
  # Start container with detach=True to enable timeout handling
1611
- container = docker_client.containers.run(
1612
- image=client_container_image,
1613
- volumes={
1614
- temporary_dir_client: {
1615
- "bind": client_mnt_point,
1616
- "mode": "rw",
1617
- },
1618
- },
1619
- auto_remove=False, # Don't auto-remove so we can get logs if timeout
1620
- privileged=True,
1621
- working_dir=benchmark_tool_workdir,
1622
- command=benchmark_command_str,
1623
- network_mode="host",
1624
- detach=True, # Detach to enable timeout
1625
- cpuset_cpus=client_cpuset_cpus,
1626
- nano_cpus=client_nano_cpus, # Force CPU distribution
1627
- )
1639
+ container = docker_client.containers.run(**client_container_args)
1628
1640
 
1629
1641
  logging.info(
1630
1642
  f"Started container {container.name} ({container.id[:12]}) with {container_timeout}s timeout"
1631
1643
  )
1632
1644
 
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']
1645
+ # Apply CPU affinity using taskset if CPU distribution is enabled
1646
+ if enable_cpu_distribution:
1647
+ try:
1648
+ container_info = docker_client.api.inspect_container(container.id)
1649
+ container_pid = container_info['State']['Pid']
1637
1650
 
1638
- logging.info(f"Setting CPU affinity for client container PID {container_pid} to cores {client_cpuset_cpus}")
1651
+ logging.info(f"Setting CPU affinity for client container PID {container_pid} to cores {client_cpuset_cpus}")
1639
1652
 
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)
1653
+ # Set CPU affinity for the main process and all its threads
1654
+ subprocess.run(f"taskset -cp {client_cpuset_cpus} {container_pid}", shell=True, check=True)
1642
1655
 
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
1656
+ # Wait a moment for client to start its threads, then set affinity for all child processes
1657
+ time.sleep(1)
1658
+ result = subprocess.run(f"pgrep -P {container_pid}", shell=True, capture_output=True, text=True)
1659
+ if result.returncode == 0:
1660
+ child_pids = result.stdout.strip().split('\n')
1661
+ for child_pid in child_pids:
1662
+ if child_pid.strip():
1663
+ try:
1664
+ subprocess.run(f"taskset -cp {client_cpuset_cpus} {child_pid.strip()}", shell=True, check=True)
1665
+ logging.info(f"Set CPU affinity for client child process {child_pid.strip()}")
1666
+ except subprocess.CalledProcessError:
1667
+ pass # Child process may have exited
1655
1668
 
1656
- logging.info(f"✅ Applied CPU affinity to client container and all child processes")
1669
+ logging.info(f"✅ Applied CPU affinity to client container and all child processes")
1657
1670
 
1658
- except Exception as e:
1659
- logging.warning(f"Failed to set CPU affinity for client container: {e}")
1671
+ except Exception as e:
1672
+ logging.warning(f"Failed to set CPU affinity for client container: {e}")
1660
1673
 
1661
1674
  # Wait for container with timeout
1662
1675
  try:
@@ -2266,6 +2279,7 @@ def start_redis_container(
2266
2279
  run_image,
2267
2280
  temporary_dir,
2268
2281
  auto_remove=False,
2282
+ enable_cpu_distribution=False,
2269
2283
  ):
2270
2284
  logging.info(
2271
2285
  "Running redis-server on docker image {} (cpuset={}) with the following args: {}".format(
@@ -2284,55 +2298,62 @@ def start_redis_container(
2284
2298
  logging.info(f"setting volume as follow: {volumes}. working_dir={mnt_point}")
2285
2299
  working_dir = mnt_point
2286
2300
 
2287
- # Calculate nano_cpus for better CPU distribution
2288
- redis_cpu_count = len(db_cpuset_cpus.split(','))
2289
- redis_nano_cpus = int(redis_cpu_count * 1e9) # 1 CPU = 1e9 nano_cpus
2290
-
2291
- logging.info(f"Redis container will use {redis_cpu_count} CPUs (nano_cpus={redis_nano_cpus}) on cores {db_cpuset_cpus}")
2292
-
2293
- redis_container = docker_client.containers.run(
2294
- image=run_image,
2295
- volumes=volumes,
2296
- auto_remove=auto_remove,
2297
- privileged=True,
2298
- working_dir=mnt_point,
2299
- command=command_str,
2300
- network_mode="host",
2301
- detach=True,
2302
- cpuset_cpus=db_cpuset_cpus,
2303
- nano_cpus=redis_nano_cpus, # Force CPU distribution
2304
- # pid_mode="host",
2305
- publish_all_ports=True,
2306
- )
2301
+ # Prepare container arguments
2302
+ container_args = {
2303
+ "image": run_image,
2304
+ "volumes": volumes,
2305
+ "auto_remove": auto_remove,
2306
+ "privileged": True,
2307
+ "working_dir": mnt_point,
2308
+ "command": command_str,
2309
+ "network_mode": "host",
2310
+ "detach": True,
2311
+ "publish_all_ports": True,
2312
+ }
2313
+
2314
+ # Add CPU distribution settings if enabled
2315
+ if enable_cpu_distribution:
2316
+ redis_cpu_count = len(db_cpuset_cpus.split(','))
2317
+ redis_nano_cpus = int(redis_cpu_count * 1e9) # 1 CPU = 1e9 nano_cpus
2318
+
2319
+ container_args["cpuset_cpus"] = db_cpuset_cpus
2320
+ container_args["nano_cpus"] = redis_nano_cpus
2321
+
2322
+ logging.info(f"Redis container will use {redis_cpu_count} CPUs (nano_cpus={redis_nano_cpus}) on cores {db_cpuset_cpus} [CPU distribution enabled]")
2323
+ else:
2324
+ logging.info(f"Redis container will use default CPU allocation [CPU distribution disabled]")
2325
+
2326
+ redis_container = docker_client.containers.run(**container_args)
2307
2327
  time.sleep(5)
2308
2328
 
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']
2329
+ # Apply CPU affinity using taskset if CPU distribution is enabled
2330
+ if enable_cpu_distribution:
2331
+ try:
2332
+ container_info = docker_client.api.inspect_container(redis_container.id)
2333
+ container_pid = container_info['State']['Pid']
2313
2334
 
2314
- logging.info(f"Setting CPU affinity for Redis container PID {container_pid} to cores {db_cpuset_cpus}")
2335
+ logging.info(f"Setting CPU affinity for Redis container PID {container_pid} to cores {db_cpuset_cpus}")
2315
2336
 
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)
2337
+ # Set CPU affinity for the main Redis process and all its threads
2338
+ subprocess.run(f"taskset -cp {db_cpuset_cpus} {container_pid}", shell=True, check=True)
2318
2339
 
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
2340
+ # Wait a moment for Redis to start its IO threads, then set affinity for all Redis processes
2341
+ time.sleep(2)
2342
+ result = subprocess.run(f"pgrep -P {container_pid}", shell=True, capture_output=True, text=True)
2343
+ if result.returncode == 0:
2344
+ child_pids = result.stdout.strip().split('\n')
2345
+ for child_pid in child_pids:
2346
+ if child_pid.strip():
2347
+ try:
2348
+ subprocess.run(f"taskset -cp {db_cpuset_cpus} {child_pid.strip()}", shell=True, check=True)
2349
+ logging.info(f"Set CPU affinity for Redis child process {child_pid.strip()}")
2350
+ except subprocess.CalledProcessError:
2351
+ pass # Child process may have exited
2331
2352
 
2332
- logging.info(f"✅ Applied CPU affinity to Redis container and all child processes")
2353
+ logging.info(f"✅ Applied CPU affinity to Redis container and all child processes")
2333
2354
 
2334
- except Exception as e:
2335
- logging.warning(f"Failed to set CPU affinity for Redis container: {e}")
2355
+ except Exception as e:
2356
+ logging.warning(f"Failed to set CPU affinity for Redis container: {e}")
2336
2357
 
2337
2358
  redis_containers.append(redis_container)
2338
2359
  return redis_container
@@ -2522,31 +2543,39 @@ def data_prepopulation_step(
2522
2543
  preload_timeout = 1800 # 30 minutes default for data loading
2523
2544
  logging.info(f"Starting preload container with {preload_timeout}s timeout")
2524
2545
 
2525
- # Calculate nano_cpus for better CPU distribution
2526
- preload_cpu_count = len(client_cpuset_cpus.split(','))
2527
- preload_nano_cpus = int(preload_cpu_count * 1e9) # 1 CPU = 1e9 nano_cpus
2546
+ # Prepare preload container arguments
2547
+ preload_container_args = {
2548
+ "image": preload_image,
2549
+ "volumes": {
2550
+ temporary_dir: {
2551
+ "bind": client_mnt_point,
2552
+ "mode": "rw",
2553
+ },
2554
+ },
2555
+ "auto_remove": False, # Don't auto-remove so we can get logs if timeout
2556
+ "privileged": True,
2557
+ "working_dir": benchmark_tool_workdir,
2558
+ "command": preload_command_str,
2559
+ "network_mode": "host",
2560
+ "detach": True, # Detach to enable timeout
2561
+ }
2562
+
2563
+ # Add CPU distribution settings if enabled
2564
+ enable_cpu_distribution = args.enable_cpu_distribution if args else False
2565
+ if enable_cpu_distribution:
2566
+ preload_cpu_count = len(client_cpuset_cpus.split(','))
2567
+ preload_nano_cpus = int(preload_cpu_count * 1e9) # 1 CPU = 1e9 nano_cpus
2568
+
2569
+ preload_container_args["cpuset_cpus"] = client_cpuset_cpus
2570
+ preload_container_args["nano_cpus"] = preload_nano_cpus
2528
2571
 
2529
- logging.info(f"Preload container will use {preload_cpu_count} CPUs (nano_cpus={preload_nano_cpus}) on cores {client_cpuset_cpus}")
2572
+ logging.info(f"Preload container will use {preload_cpu_count} CPUs (nano_cpus={preload_nano_cpus}) on cores {client_cpuset_cpus} [CPU distribution enabled]")
2573
+ else:
2574
+ logging.info(f"Preload container will use default CPU allocation [CPU distribution disabled]")
2530
2575
 
2531
2576
  try:
2532
2577
  # Start container with detach=True to enable timeout handling
2533
- container = docker_client.containers.run(
2534
- image=preload_image,
2535
- volumes={
2536
- temporary_dir: {
2537
- "bind": client_mnt_point,
2538
- "mode": "rw",
2539
- },
2540
- },
2541
- auto_remove=False, # Don't auto-remove so we can get logs if timeout
2542
- privileged=True,
2543
- working_dir=benchmark_tool_workdir,
2544
- command=preload_command_str,
2545
- network_mode="host",
2546
- detach=True, # Detach to enable timeout
2547
- cpuset_cpus=client_cpuset_cpus,
2548
- nano_cpus=preload_nano_cpus, # Force CPU distribution
2549
- )
2578
+ container = docker_client.containers.run(**preload_container_args)
2550
2579
 
2551
2580
  logging.info(
2552
2581
  f"Started preload container {container.name} ({container.id[:12]}) with {preload_timeout}s timeout"
@@ -26,10 +26,10 @@ spec:
26
26
  redis_topology:
27
27
  primaries: 1
28
28
  replicas: 0
29
- redis_arguments: --io-threads 2 --io-threads-do-reads yes --server-cpulist 0,1
29
+ redis_arguments: --io-threads 2 --io-threads-do-reads yes
30
30
  resources:
31
31
  requests:
32
- cpus: "3"
32
+ cpus: "2"
33
33
  memory: "10g"
34
34
 
35
35
  - name: oss-standalone-04-io-threads
@@ -37,10 +37,10 @@ spec:
37
37
  redis_topology:
38
38
  primaries: 1
39
39
  replicas: 0
40
- redis_arguments: --io-threads 4 --io-threads-do-reads yes --server-cpulist 0,1,2,3
40
+ redis_arguments: --io-threads 4 --io-threads-do-reads yes
41
41
  resources:
42
42
  requests:
43
- cpus: "5"
43
+ cpus: "4"
44
44
  memory: "10g"
45
45
 
46
46
  - name: oss-standalone-08-io-threads
@@ -48,10 +48,10 @@ spec:
48
48
  redis_topology:
49
49
  primaries: 1
50
50
  replicas: 0
51
- redis_arguments: --io-threads 8 --io-threads-do-reads yes --server-cpulist 0,1,2,3,4,5,6,7
51
+ redis_arguments: --io-threads 8 --io-threads-do-reads yes
52
52
  resources:
53
53
  requests:
54
- cpus: "9"
54
+ cpus: "8"
55
55
  memory: "10g"
56
56
 
57
57
  - name: oss-standalone-16-io-threads
@@ -62,7 +62,7 @@ spec:
62
62
  redis_arguments: --io-threads 16 --io-threads-do-reads yes
63
63
  resources:
64
64
  requests:
65
- cpus: "17"
65
+ cpus: "16"
66
66
  memory: "10g"
67
67
 
68
68
  - name: oss-standalone-32-io-threads
@@ -73,7 +73,7 @@ spec:
73
73
  redis_arguments: --io-threads 32 --io-threads-do-reads yes
74
74
  resources:
75
75
  requests:
76
- cpus: "33"
76
+ cpus: "32"
77
77
  memory: "10g"
78
78
 
79
79
  - name: oss-standalone-64-io-threads
@@ -84,7 +84,7 @@ spec:
84
84
  redis_arguments: --io-threads 64 --io-threads-do-reads yes
85
85
  resources:
86
86
  requests:
87
- cpus: "65"
87
+ cpus: "64"
88
88
  memory: "10g"
89
89
  - name: oss-standalone-1replica
90
90
  type: oss-standalone