打开异步HttpWebRequest的最大数量

时间:2011-03-29 20:57:18

标签: c# asynchronous httpwebrequest

对于需要从Internet连接同时下载多个(25+)个不同对象的客户端应用程序,应该使用的异步HttpWebRequests的最大数量是多少?使用更多的后果是什么?

3 个答案:

答案 0 :(得分:0)

确保请求的ServicePoint.ConnectionLimit足够高。

答案 1 :(得分:0)

取决于您的服务器功能,但Apache允许您定义同时执行的最大允许请求,因此您可以根据需要使用MPM配置中的MaxClients参数进行调整。同时将MinSpareServers设置为至少5

我用:

Timeout 5
KeepAliveTimeout 2

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

和5s间隔的25个请求绝对没问题。

答案 2 :(得分:0)

好的,我的问题可能不清楚。我想从客户端的角度了解HttpWebRequest对象,不一定是从服务器的角度来看。

无论如何,我找到了问题的答案:

应该使用的异步HttpWebRequests的最大数量是多少?从我的测试中,它取决于应用程序,但问题与我的应用程序有多少线程池线程相同?

使用更多内容有什么后果?你会得到一个可爱的OOME:)

希望能帮助别人!