const int maxCount = 0x1000;
ThreadPool.SetMaxThreads(maxCount, maxCount);
var socketsHttpHandler = new SocketsHttpHandler
{
MaxConnectionsPerServer = 0x200,
};
var httpClient = new HttpClient(socketsHttpHandler);
Parallel.ForEachAsync(items, new ParallelOptions { MaxDegreeOfParallelism = 0x200 }, async (item, token) =>
{
try
{
var url = "https://localhost:7065/weatherforecast";
using var response = await httpClient.GetAsync(url, token);
}
catch (Exception exc)
{
errors.Add((item.Name, exc.ToString()));
}
}).Wait();
Получается около 40-50 запросов в секунду. И хотя я не ожидал миллионов, но это — вообще курам на смех.
Я что-то упускаю?