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

Use larger stream window #192

Open
edsko opened this issue Jul 17, 2024 · 0 comments
Open

Use larger stream window #192

edsko opened this issue Jul 17, 2024 · 0 comments
Assignees
Labels
http2 Problems in `http2` and related packages performance Performance related issues priority: medium Should be done before the library can be considered complete

Comments

@edsko
Copy link
Collaborator

edsko commented Jul 17, 2024

Since kazu-yamamoto/http2#130 we no longer have a limited number of workers, but instead have one thread per stream. This means that the warning in network-control

If you use a smaller connection window size, you must ensure that if you are handling fewer concurrent streams than allowed by defaultMaxStreams, that the unhandled streams cannot exhaust the connection window, or risk the entire system deadlocking.

no longer applies (the emphasized if is no longer true). We should therefore set the stream window size to something larger (256 kB?), with a smaller connection window (2 MB?). This should result in fewer WINDOW_UPDATE frames sent.

We should verify this reasoning and check that this does not ensure deadlock.

While we're at it: the numberOfWorkers parameter of http2, mirrored as settingsNumberOfWorkers in http2-tls are both redundant. We should submit PRs to remove them.

@edsko edsko added priority: medium Should be done before the library can be considered complete performance Performance related issues http2 Problems in `http2` and related packages labels Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
http2 Problems in `http2` and related packages performance Performance related issues priority: medium Should be done before the library can be considered complete
Projects
None yet
Development

No branches or pull requests

2 participants