HttpWebRequest 高效并发问题

最近做酒店项目 需要抓取酒店的一些图片信息,好几百W的数据。每次线程几十个,感觉没有什么效率的样子。最后网上查询了下慢的原因。

做个记录。

我用的是 windows  7,但是最大 默认请求连接数 是2,在服务器操作系统上默认为10. 如果不修改这个并发连接限制,那么客户端同时可以建立的 http 连接数就只有2个或10个。

System.Net.ServicePointManager.DefaultConnectionLimit 这个可以获取到当前默认设置的 最大连接数。

调整一下System.Net.ServicePointManager.DefaultConnectionLimit的值到500,速度一下提高好几倍。其他有很多的博主也遇到过类似的问题,借鉴他们的处理方式。

1.代码配置

   System.Net.ServicePointManager.DefaultConnectionLimit = 512; // 这个值最好不要超过1024。

2.app.config   

<configuration>
<system.net>
<connectionManagement>
<!--指定地址--> <add address = "http://www.baidu.com" maxconnection = "512" />

<!--任意地址-->
<add address = "*" maxconnection = "512" /> </connectionManagement> </system.net> </configuration>

 

posted on 2015-07-08 12:36  前端你个UI  阅读(1243)  评论(0编辑  收藏  举报

导航