dotnet / dotnet/aspnetcore

Consider increasing stream limits defaults for HTTP/3

Open
#41,831 4 comments 0 reactions 0 assignees View on GitHub
area-networking HTTP3
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Is your feature request related to a problem? Please describe the problem.

I already opened this idea with @JamesNK.
We should also consider whether this change might have negative impact on contention and whether it might have security implication.
I tested some of the externally available H/3 servers (the numbers are give or take):
| Server | Bidi | Unidi |
| - | - | - |
| https://quic.nginx.org/ | 128 | 3 |
| https://cloudflare-quic.com/ | 256 | 3 |
| https://www.litespeedtech.com/ | 100 | 3 |
| https://quic.tech:8443/ | 100 | 100 |
| https://quic.aiortc.org:443/ | 128, 256, 512 | 128, 256, 512 |
| https://h2o.examp1e.net/ | 100 | 10 |
| https://msquic.net | 100 | 3 |

This idea comes mainly from @nibanks suggestion to use a single connection and many streams for the best perf results.

cc: @CarnaViire @wfurt @rzikm

### Describe the solution you'd like

I'm opening this to start a discussion. This might also just lead to only a docs change recommending increasing stream limits for high perf scenarios.

### Additional context

`HttpClient` supports only single H/3 connection at the moment. Issue to support more has been already filed: https://github.com/dotnet/runtime/issues/51775

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.