Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is the SEND_BUFFER_SIZE and RX_STREAM_DATA_WINDOW small? #1820

Closed
mxinden opened this issue Apr 13, 2024 · 2 comments
Closed

Is the SEND_BUFFER_SIZE and RX_STREAM_DATA_WINDOW small? #1820

mxinden opened this issue Apr 13, 2024 · 2 comments

Comments

@mxinden
Copy link
Collaborator

mxinden commented Apr 13, 2024

Neqo currently sets a maximum stream send and receive window of 1 MiB:

const RX_STREAM_DATA_WINDOW: u64 = 0x10_0000; // 1MiB

pub const SEND_BUFFER_SIZE: usize = 0x10_0000; // 1 MiB

If my math is correct, on e.g. a 50ms connection, a 1MiB window does not allow for more than 160 Mbit/s per stream:

  delay_s = 0.05
  window_bits = 1 * 1024 * 1024 * 8
  bandwidth_bits_s = window_bits / delay_s
  bandwidth_mbits_s = bandwidth_bits_s / 1024 / 1024 # 160.0

Intuitively 160 Mbit/s on a 50ms connection seems small.

Am I missing something? Is this relevant? Are applications expected to leverage multiple streams to exhaust the bandwidth of a connection?

what do other projects use

related

@larseggert
Copy link
Collaborator

We should do auto tuning.

@mxinden
Copy link
Collaborator Author

mxinden commented Apr 19, 2024

Closing here in favor of #733.

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

No branches or pull requests

2 participants