Провел много времени в поисковиках но ответа так и не нашел.
Я использую WebRequest для отправки запроса к API сайта. При отправке одновременно более 3х запросов, из одного приложения, время ответа начинает значительно увеличиваться, что мне крайне не подходит. Я написал вин форм приложение которое открывает консольные приложения которые отправляют эти же запросы и время ответа всегда одинаковое. То-есть, я запускаю одновременно 50 консольных и среднее время ответа остается в пределах нормы.
Собственно вопрос, что я делаю не так, что запустив 50 потоков в одном приложении сервис начинает отвечать по 10 секунд при том что 50 разных приложений делающих тоже самое получают результаты за 0.3 секунды.
Подскажите пожалуйста, как мне добиться такого же результата в одном приложении?
Ниже код запроса, но наврятли это важно, все стандартно.
var request = WebRequest.Create(requestString);
var response = (HttpWebResponse)request.GetResponse();
dataStream = response.GetResponseStream();
Не знаю подойдет ли в качестве ответа. Во первых я перешел на HttpClient с WebRequest по рекомендации Kamushek, но это проблему не решило. После проведенных поисков и тестов оказалось что существует лимит на количество одновременных подключений к серверу. Задать лимит подключений можно вот этой строкой, это решило мою проблему.
ServicePointManager.DefaultConnectionLimit = 50;
Помогла разобраться вот эта статья https://habr.com/ru/post/424873/
Сборка персонального компьютера от Artline: умный выбор для современных пользователей