Максимальное количество открытых асинхронных HttpWebRequest - PullRequest
0 голосов
/ 30 марта 2011

Для клиентского приложения, которому необходимо одновременно загружать несколько (25+) различных объектов из интернет-соединения, каково максимальное число асинхронных HttpWebRequests, которые следует использовать ? Каковы последствия использования больше?

Ответы [ 3 ]

0 голосов
/ 30 марта 2011

Зависит от возможностей вашего сервера, но Apache позволяет вам определять максимально разрешенные запросы, выполняемые одновременно, поэтому вы можете настроить его при необходимости, используя параметр MaxClients в конфигурации MPM. Также установите MinSpareServers по крайней мере 5

Я использую:

Timeout 5
KeepAliveTimeout 2

<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 5
MaxSpareServers 50
MaxClients 100
MaxRequestsPerChild 20
</IfModule>

и 25 запросов с интервалом 5 с абсолютно не проблема.

0 голосов
/ 04 апреля 2011

Хорошо, мой вопрос, вероятно, был неясен. Я хочу знать с точки зрения клиента об объектах HttpWebRequest, не обязательно с точки зрения сервера.

В любом случае, я нашел ответы на вопросы:

Каково максимальное число асинхронных запросов HttpWebRequest, которое следует использовать? Из моих тестов это зависит от приложения, но это тот же вопрос, что и сколько потоков пула может иметь мое приложение?

Каковы последствия использования больше? Вы получаете прекрасный OOME:)

Надеюсь, это кому-нибудь поможет!

0 голосов
/ 30 марта 2011

Убедитесь, что ServicePoint.ConnectionLimit запроса достаточно высок.

...