Skip to content

HTTP/2 flow control and buffer improvements#10771

Closed
icing wants to merge 2 commits intocurl:masterfrom
icing:h2+bufq
Closed

HTTP/2 flow control and buffer improvements#10771
icing wants to merge 2 commits intocurl:masterfrom
icing:h2+bufq

Conversation

@icing
Copy link
Contributor

@icing icing commented Mar 15, 2023

HTTP/2 flow control and buffer improvements

- use bufq for send/receive of network data
- usd bufq for send/receive of stream data
- use HTTP/2 flow control with no-auto updates to control the
  amount of data we are buffering for a stream
  HTTP/2 stream window set to 128K after local tests, defined
  code constant for now
- elminiating PAUSEing nghttp2 processing when receiving data
  since a stream can now take in all DATA nghttp2 forwards

Based on #10720

@github-actions github-actions bot added the tests label Mar 15, 2023
@github-actions github-actions bot added the tests label Mar 15, 2023
@icing icing force-pushed the h2+bufq branch 2 times, most recently from ca0d3ed to 8058b1e Compare March 16, 2023 13:10
@icing icing mentioned this pull request Mar 16, 2023
@icing icing force-pushed the h2+bufq branch 2 times, most recently from 4127ee4 to c36bd0d Compare March 20, 2023 14:28
- use bufq for send/receive of network data
- usd bufq for send/receive of stream data
- use HTTP/2 flow control with no-auto updates to control the
  amount of data we are buffering for a stream
  HTTP/2 stream window set to 128K after local tests, defined
  code constant for now
- elminiating PAUSEing nghttp2 processing when receiving data
  since a stream can now take in all DATA nghttp2 forwards

Improved scorecard and adjuste http2 stream window sizes
- scorecard improved output formatting and options default
- scorecard now also benchmarks small requests / second
@bagder bagder closed this in 744dcf2 Mar 30, 2023
@bagder
Copy link
Member

bagder commented Mar 30, 2023

Thanks!

@dfandrich
Copy link
Contributor

It looks like is causing test failures in rustls builds with
FAILED tests/http/test_07_upload.py::TestUpload::test_07_12_upload_seq_large[0-h2] - AssertionError: expected exit code 0, got 26
e.g. see here or here.

@icing
Copy link
Contributor Author

icing commented Mar 31, 2023 via email

@icing
Copy link
Contributor Author

icing commented Mar 31, 2023 via email

bch pushed a commit to bch/curl that referenced this pull request Jul 19, 2023
- use bufq for send/receive of network data
- usd bufq for send/receive of stream data
- use HTTP/2 flow control with no-auto updates to control the
  amount of data we are buffering for a stream
  HTTP/2 stream window set to 128K after local tests, defined
  code constant for now
- elminiating PAUSEing nghttp2 processing when receiving data
  since a stream can now take in all DATA nghttp2 forwards

Improved scorecard and adjuste http2 stream window sizes
- scorecard improved output formatting and options default
- scorecard now also benchmarks small requests / second

Closes curl#10771
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants