производительность HttpClient
От: Codealot Земля  
Дата: 10.08.23 22:58
Оценка:
            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 запросов в секунду. И хотя я не ожидал миллионов, но это — вообще курам на смех.
Я что-то упускаю?
Ад пуст, все бесы здесь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.