Skip to content

Commit e603ee8

Browse files
feat: Complete multi-client runner implementation with pubsub-sub-bench integration
Major improvements to multi-client execution: 🚀 Multi-Client Runner Enhancements: - Remove unnecessary threading (containers already detached) - Add proper error handling with container logs output - Fix permission issues with Docker user parameter - Implement JSON result aggregation from multiple containers - Add fail-fast behavior on container failures 🔧 Container Management: - Add configurable --container-timeout-buffer flag (default 60s) - Fix Docker container user permissions for file writing - Improve container lifecycle management and cleanup 📊 Results Processing: - Fix filename mismatch between multi-client JSON output and processing - Add proper metric extraction for multi-client scenarios - Fix missing final summary table in multi-client output - Ensure both individual and aggregate results tables display 🧪 Testing: - Add comprehensive tests for new functionality - Test container timeout buffer configuration - Verify multi-client execution with memtier + pubsub-sub-bench ✅ Full Feature Parity: Multi-client runner now has complete feature parity with single-client: - Real performance metrics extraction (114K+ ops/sec) - Complete error handling and logging - Proper results aggregation and display - Support for memtier_benchmark + pubsub-sub-bench simultaneously All tests passing with both single and multi-client configurations.
1 parent aed6d64 commit e603ee8

File tree

4 files changed

+356
-119
lines changed

4 files changed

+356
-119
lines changed

redis_benchmarks_specification/__runner__/args.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,12 @@ def create_client_runner_args(project_name):
208208
type=int,
209209
help="override memtier number of runs for each benchmark. By default will run once each test",
210210
)
211+
parser.add_argument(
212+
"--container-timeout-buffer",
213+
default=60,
214+
type=int,
215+
help="Buffer time in seconds to add to test-time for container timeout. Default is 60 seconds.",
216+
)
211217
parser.add_argument(
212218
"--cluster-mode",
213219
default=False,

0 commit comments

Comments
 (0)