Repository navigation
perf(transport): raise the per-path transmit queue quota to 1 MiB - #41
Merged
Merged
Conversation
At ~1 Gbps one drive can hand a path over 256 KiB of packets, so the per-(conn, path) quota refused them, xquic got EAGAIN, and it retried on every wakeup until the queue drained: 100k-150k refusals per 40 s on the WAN MITM bench, each logged as three ERROR lines by xquic. Raise the quota to 1 MiB (resume below 512 KiB, total 4 MiB) and grow queues on use instead of reserving the quota up front, so an idle (conn, path) costs nothing. On the bench refusals dropped to ~0 and throughput rose from 814 to 1017 Mbps single path and 703 to 919 Mbps multipath (median of 3). The fabric quota tests now run cubic: under the simulated network BBR's window settles below one 1 MiB quota, so the queue could never fill.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
At ~1 Gbps one drive can hand a path over 256 KiB of packets, so the per-(conn, path) quota refused them, xquic got EAGAIN, and it retried on every wakeup until the queue drained: 100k-150k refusals per 40 s on the WAN MITM bench, each logged as three ERROR lines by xquic. Raise the quota to 1 MiB (resume below 512 KiB, total 4 MiB) and grow queues on use instead of reserving the quota up front, so an idle (conn, path) costs nothing.
On the bench refusals dropped to ~0 and throughput rose from 814 to 1017 Mbps single path and 703 to 919 Mbps multipath (median of 3).
The fabric quota tests now run cubic: under the simulated network BBR's window settles below one 1 MiB quota, so the queue could never fill.