-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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 - Large download speed is dramatically slower than HTTP/1.1 #47092
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsDescriptionWhen downloading a large (100 MB) file via a ConfigurationMy network speed: 250 mbps (both ways, fiber) Benchmark code. It is configured for HTTP/2. To configure for HTTP/1.1, replace
DataHTTP/1.1 benchmark test:
HTTP/2 benchmark test:
AnalysisWhat I have tried:
Neither made any noteworthy difference. Another person appears to have this problem too. Also some good information in this answer. Could .NET be better-optimized for large HTTP/2 downloads? The performance difference surprised me. I'd love to see other peoples' benchmark results.
|
Interesting observation. When specifying Compared to HTTP/1.1: https://pastebin.com/hfArNs5y Maybe HTTP/1.1 is faster because it completes the read in larger/less chunks. Unfortunately it doesn't want to read in my large buffer size - it seems to top off at 40959.
|
This is probably the very same problem as #43086. Could you please confirm it by running the test with wireshark and checking whether WINDOW_UPDATE frames are sent very often? If it's the case we should close this one as a dupe. |
Thanks for the link. Looks like the same exact issue. |
Duplicate of #43086 |
Description
When downloading a large (100 MB) file via a
HttpClient
configured for HTTP/2, the download speed is a fraction of HTTP/1.1 speeds.Configuration
My network speed: 250 mbps (both ways, fiber)
Benchmark code. It is configured for HTTP/2. To configure for HTTP/1.1, replace
RequestVersionOrHigher
withRequestVersionOrLower
.Data
HTTP/1.1 benchmark test:
HTTP/2 benchmark test:
Analysis
What I have tried:
Neither made any noteworthy difference.
Another person appears to have this problem too.
Also some good information in this answer.
Could .NET be better-optimized for large HTTP/2 downloads? The performance difference surprised me. I'd love to see other peoples' benchmark results.
The text was updated successfully, but these errors were encountered: