-
Notifications
You must be signed in to change notification settings - Fork 653
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
Allow configuring HTTP2 initial/local window size #2429
Comments
After discussing with my team, it seems that BDP-based dynamic flow control window adjustment is likely to be a more attractive option in general for supporting this kind of usage. For future reference: any implementation of that feature will need to limit the number of pings sent without sending other frames, for GFE compatibility. |
Hi @murgatroid99. My team also have an app that where the total amount of data to be received is larger than default window size. Any update on this feature request? |
The BDP-based flow control management I referenced has still not yet been implemented. As a result, I am more inclined to implement or accept an implementation of the originally requested feature. The Java gRPC implementation has a |
Hey, I work on the same team as @VampSlayer and have created a PR to enable the |
Is your feature request related to a problem? Please describe.
We are facing an issue when a Node app with gRPC client is getting responses slower than expected due to the fact server is awaiting for a
WINDOW_UPDATE
frame which is not being sent promptly by the client because the client is busy processing already received data.This happens when the app is under a certain load, and is sending multiple concurrent calls to the server, while the responses are relatively big.
Describe the solution you'd like
Allowing to control the initial window size and the local session window size would help tuning the settings for such use case.
Those configurations are available in Node's HTTP2 implementation:
initialWindowSize
- could be provided as part of the settings passed to the http2.connect method underoptions.settings
localWindowSize
- could be set using http2session.setLocalWindowSize APIAdditional context
The default window size in Node's HTTP2 is 64KB.
The total amount of data to be received (for all the requests) in our example is ~5MB (with 100KB-150KB per request).
Would you consider accepting a PR for that?
The text was updated successfully, but these errors were encountered: