Skip to content

docs(design): daemon thread-per-connection benchmark plan (#1933)#3713

Merged
oferchen merged 1 commit into
masterfrom
docs/daemon-tpc-benchmark-1933
May 5, 2026
Merged

docs(design): daemon thread-per-connection benchmark plan (#1933)#3713
oferchen merged 1 commit into
masterfrom
docs/daemon-tpc-benchmark-1933

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 5, 2026

Summary

  • Adds docs/design/daemon-tpc-benchmark-plan.md (460 lines) - empirical follow-up plan to the static analysis in docs/audits/daemon-thread-per-connection-scalability.md (task Split branding tests into module #1673, PR docs(audits): daemon thread-per-connection scalability audit (#1673) #3705).
  • Defines the harness shape (extension of crates/daemon/benches/daemon_benchmark.rs with a Rust client driver and resource sampler), workloads at 100 / 1 000 / 10 000 concurrent clients pulling 100 small files each, metrics, soft-limit triggers, and the comparison matrix against upstream rsync 3.4.1.
  • Frames the active-counter fix from the parent audit's Section 9.1 as a strict precondition: today max_sessions enforces total served, not active concurrent (crates/daemon/src/daemon/sections/server_runtime/connection.rs:264-270, connection.rs:352-358); without that fix W10k is uninstrumentable.
  • Specifies decision thresholds for triggering the async-listener migration (Normalize quoted fallback keywords #1935): RSS, p99 connect latency, drain latency, throughput-vs-upstream, failure-mode at cap.

Test plan

  • No code changes; no tests required.
  • file:LINE citations verified against crates/daemon/src/daemon/sections/server_runtime/, module_state/runtime.rs, module_state/connection_limiter.rs, sections/greeting.rs.
  • Grep for em/en-dashes: empty.
  • Single commit, single new file, no other tree changes.

Tracking: oc-rsync task #1933.

Defines the empirical benchmark harness, workloads (100 / 1k / 10k
concurrent clients), metrics, soft-limit triggers, comparison oracle
against upstream rsync 3.4.1, and the decision criteria that gate the
async listener migration tracked under #1935. Frames the active-counter
fix from the parent audit (#1673, PR #3705) as a strict precondition.

Tracking: oc-rsync task #1933.
@oferchen oferchen force-pushed the docs/daemon-tpc-benchmark-1933 branch from a0c7f0b to c839446 Compare May 5, 2026 19:51
@oferchen oferchen merged commit 28b3316 into master May 5, 2026
7 checks passed
@oferchen oferchen deleted the docs/daemon-tpc-benchmark-1933 branch May 6, 2026 18:56
oferchen added a commit that referenced this pull request May 18, 2026
)

Defines the empirical benchmark harness, workloads (100 / 1k / 10k
concurrent clients), metrics, soft-limit triggers, comparison oracle
against upstream rsync 3.4.1, and the decision criteria that gate the
async listener migration tracked under #1935. Frames the active-counter
fix from the parent audit (#1673, PR #3705) as a strict precondition.

Tracking: oc-rsync task #1933.
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