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

HTTP/2 flow control and buffer improvements #10771

Closed
wants to merge 2 commits into from
Closed

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

- 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.

None yet

3 participants