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

Pick a default for HTTP/2 server max concurrent streams #3358

Closed
Tracked by #3279
seanmonstar opened this issue Oct 19, 2023 · 0 comments · Fixed by #3362
Closed
Tracked by #3279

Pick a default for HTTP/2 server max concurrent streams #3358

seanmonstar opened this issue Oct 19, 2023 · 0 comments · Fixed by #3362
Labels
A-http2 Area: HTTP/2 specific. A-server Area: server. B-breaking-change Blocked: this is an "API breaking change". C-feature Category: feature. This is adding a new feature. E-easy Effort: easy. A task that would be a great starting point for a new contributor.
Milestone

Comments

@seanmonstar
Copy link
Member

seanmonstar commented Oct 19, 2023

It would be wise to pick a somewhat lenient default max concurrent streams, so that anyone who never thinks about it is protected. People who care are encouraged to override the default.

Many servers default to 100, since the RFC suggests it shouldn't be less than that. Some implementations stick to that, or even lower without advertising it, since they need to dedicate a thread per request, which hyper does not need to do. Additionally, the HTTP Archive stats show that p90 is around 170 requests per page.

In order to not necessarily inconvenience most hyper servers, therefore, I'm thinking of putting the default at 200.

@seanmonstar seanmonstar added A-server Area: server. E-easy Effort: easy. A task that would be a great starting point for a new contributor. C-feature Category: feature. This is adding a new feature. A-http2 Area: HTTP/2 specific. B-breaking-change Blocked: this is an "API breaking change". labels Oct 19, 2023
@seanmonstar seanmonstar moved this to Todo in hyper 1.0 Oct 19, 2023
@seanmonstar seanmonstar added this to the 1.0 milestone Oct 19, 2023
@seanmonstar seanmonstar moved this from Todo to In Progress in hyper 1.0 Oct 19, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in hyper 1.0 Oct 20, 2023
seanmonstar added a commit that referenced this issue Oct 20, 2023
Closes #3358

BREAKING CHANGE: This is a behavioral change. Consider setting your own
  maximum.
0xE282B0 pushed a commit to 0xE282B0/hyper that referenced this issue Jan 12, 2024
…rium#3362)

Closes hyperium#3358

BREAKING CHANGE: This is a behavioral change. Consider setting your own
  maximum.
0xE282B0 pushed a commit to 0xE282B0/hyper that referenced this issue Jan 16, 2024
…rium#3362)

Closes hyperium#3358

BREAKING CHANGE: This is a behavioral change. Consider setting your own
  maximum.

Signed-off-by: Sven Pfennig <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-http2 Area: HTTP/2 specific. A-server Area: server. B-breaking-change Blocked: this is an "API breaking change". C-feature Category: feature. This is adding a new feature. E-easy Effort: easy. A task that would be a great starting point for a new contributor.
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant