-
Notifications
You must be signed in to change notification settings - Fork 693
Allow configuring HTTP2 initial/local window size #2429
Description
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.settingslocalWindowSize- could be set using http2session.setLocalWindowSize API
Additional 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?