runtime: HttpClient creates Quic threads even if HTTP/3 is not in use
- Create simple console app with HTTP and run simple http1.1 request on Windows 11 or Server 22.
- look at application threads.
Application crates 2x threads per core even if HTTP/3 and Quic are not in used. This was originally reported on legacy system with 54 cores. That will create 100+ threads … for nothing.
We should figure out how to make Quic.IsSupported
cheap and defer thread creation until needed.
This will impact legacy app that has no clue tor intention to use Quic or HTTP/3.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 21 (21 by maintainers)
I think we can simply try opening and closing the API registration (that should deallocate the internal MsQuic threadpool), and then lazily reopen it when we actually intend to use it.
From what I understand, the PR updates the relevant docker images to a version which works, and later, there will be another PR which updates to images to the official 2.1.1 bits on all tested platforms.
I think we can keep 2.1.0, it is, after all, the minimum required version. What do you think, @wfurt?
But I would expect that most people regularly update packages on their systems so most people would run with 2.1.1 anyway.