Background
I have to download about 16k documents and the same amount of html pages from the internet. This number will increase in the future. Currently I am just using Parallel.ForEach
to download and work on the data in parallel. This however does not seem to fully utilize my resources, so I am planning to bring async/await
into play, to have as many downloads running in asynchronously as possible, but I will probably have to limit that.
Actual Question
How many open connections can a single HttpClient
have? What other factors will I have to keep in mind when creating such an amount of connections? I am aware that I should reuse the same HttpClient
and I have also read this answer, but I have doubts that I can really have several billion connections open at once.