0

Я создаю приложение для очистки веб-страниц. Он должен очистить сложный веб-сайт с одновременными HttpWebRequests с одного хоста на одном целевом веб-сервере.C# Сетевое программирование - HTTPWebRequest Скребок

Приложение должно работать на сервере Windows 2008.

Один единственный HttpWebRequest для данных может занять от 1 минуты до 4 минут, чтобы завершить (из-за длительных операций работает дб)

я должен иметь по меньшей мере 100 параллельные запросы к целевому веб-серверу, но я заметил, что, когда я использую более 2-3 длительных запросов, у меня большие проблемы с производительностью (тайм-ауты запроса/зависание).

Сколько одновременных запросов можно получить в этом сценарии с одного хоста на один целевой веб-сервер? могу ли я использовать пулы потоков в приложении для запуска параллельных HttpWebRequests на сервере? у меня возникнут проблемы с ограничениями исходящего HTTP-соединения/запросов по умолчанию? как насчет времени ожидания запроса, когда я достигаю пределов исходящего соединения? что было бы лучшим вариантом для моего сценария?

Любая помощь будет оценена по достоинству.

Благодаря

ответ

1

По умолчанию протокол HTTP ограничивает агент пользователя до 2 одновременных соединений по протоколу HTTP/1.1 server.That является пределом вы ударяете.

Увеличение лимита, установив

ServicePointManager.DefaultConnectionLimit. 

Вы также можете установить его на Servicepoint, установив

ServicePointManager.GetServicePoint(url).ConnectionLimit 
Смежные вопросы