Skip to content

fix(loadgen): enforce global request rate and validate workload inputs - #14

Merged
kclaka merged 13 commits into
mainfrom
loadgen-rate-limits
Sep 16, 2026
Merged

kclaka merged 13 commits into
mainfrom
loadgen-rate-limits

Conversation

@kclaka

@kclaka kclaka commented Sep 16, 2026 •

Copy link
Copy Markdown
Owner

When requested RPS was below worker count, integer division disabled throttling and generated unlimited traffic. All workers now share one paced schedule, preserving fractional per-worker rates and avoiding accumulated bursts after pauses. Unlimited mode remains explicit with --rps=0.

Reject zero workers/items and invalid alpha values before startup or control updates. Apply every represented alpha change and drain response bodies before counting completed requests, allowing connection reuse without buffering complete responses.

Validation: 52 Rust tests, including four load-generator regressions; cargo fmt; strict Clippy across all targets. Virtual-time tests verify aggregate pacing below concurrency and pause/resume behavior; validation tests cover CLI and atomic rejection of invalid control updates.

Replaces #11 . Commit contents are preserved; the original PR retains prior discussion and review history.

fix(dashboard): clean up reconnects, report control failures, and add CI
fix(server): validate config, preserve reload state, and drain requests
fix(resp): encode wire replies and isolate validated binary Redis commands
fix(proxy): preserve forwarding semantics and protect shared HTTP caching
@kclaka
kclaka merged commit 7008cb4 into main Sep 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant