Problem / Background
PR #224 (closing #187) raised channel sizing (maximum_packet_size 65535, window_size 8 MiB, configurable via YAML/env/builder), added a pipelined server-side SFTP write path (bounded read-ahead queue default 16, sequential write coalescing default 256 KiB, seek elision), and tuned [profile.release] (lto="fat", codegen-units=1) with documented RUSTFLAGS target-cpu guidance. Local loopback results (OpenSSH sftp client, 1 GiB, 3-run averages): upload 71 -> 437 MiB/s (6.2x), download 73 -> 282 MiB/s (3.9x). An ablation run attributed most of the gain to the pipelined write path.
However, that validation ran only on a local loopback developer machine. The original report in #187 was measured on an Intel Xeon Silver 4214 @ 2.20 GHz with a 1 Gbps NIC, where a single-connection sftp upload capped at 57 MiB/s while OpenSSH reached the NIC-limited 101 MiB/s on the same host. The two hardware-dependent acceptance criteria from #187 could not be verified in the implementation environment and remain open; they move to this issue.
Tasks / Acceptance Criteria
Reproduction
Follow the reproduction steps from #187: run bssh-server, then sftp put a 1 GiB random file with the OpenSSH sftp client, and cross-check against stock OpenSSH sftp-server on the same host as the reference ceiling.
Related
Problem / Background
PR #224 (closing #187) raised channel sizing (maximum_packet_size 65535, window_size 8 MiB, configurable via YAML/env/builder), added a pipelined server-side SFTP write path (bounded read-ahead queue default 16, sequential write coalescing default 256 KiB, seek elision), and tuned
[profile.release](lto="fat", codegen-units=1) with documented RUSTFLAGS target-cpu guidance. Local loopback results (OpenSSH sftp client, 1 GiB, 3-run averages): upload 71 -> 437 MiB/s (6.2x), download 73 -> 282 MiB/s (3.9x). An ablation run attributed most of the gain to the pipelined write path.However, that validation ran only on a local loopback developer machine. The original report in #187 was measured on an Intel Xeon Silver 4214 @ 2.20 GHz with a 1 Gbps NIC, where a single-connection sftp upload capped at 57 MiB/s while OpenSSH reached the NIC-limited 101 MiB/s on the same host. The two hardware-dependent acceptance criteria from #187 could not be verified in the implementation environment and remain open; they move to this issue.
Tasks / Acceptance Criteria
cargo flamegraph(or equivalent perf profile) of a 1 GiB SFTP upload on a host that permits perf profiling, and document the dominant cost terms (fragmentation / copies / FFI / disk). Note: this was skipped in PR perf(sftp): raise channel sizing, pipeline server writes, tune release build #224 because the build host hadperf_event_paranoid=4andcargo flamegraphunavailable; an ablation run (library-default channel sizing vs raised sizing) served as interim factor attribution.Reproduction
Follow the reproduction steps from #187: run bssh-server, then
sftp puta 1 GiB random file with the OpenSSH sftp client, and cross-check against stock OpenSSH sftp-server on the same host as the reference ceiling.Related